(0) Obligation:
JBC Problem based on JBC Program:
No human-readable program information known.
Manifest-Version: 1.0
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: Samefringe
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
Graph of 1445 nodes with 4 SCCs.
(3) FIGtoITRSProof (SOUND transformation)
Transformed FIGraph to ITRS rules
(4) Complex Obligation (AND)
(5) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load31330(
o48160,
o48159,
o48157,
o48158) →
NULL31532(
o48160,
o48159,
o48157,
o48158,
o48157)
NULL31532(
o48592,
o48591,
java.lang.Object(
Tree(
o49086Field0,
o49086Field1,
o49086Field2)),
o48590,
java.lang.Object(
Tree(
o49086Field0,
o49086Field1,
o49086Field2))) →
Load31861(
o48592,
o48591,
java.lang.Object(
Tree(
o49086Field0,
o49086Field1,
o49086Field2)),
o48590)
Load31861(
o49481,
o49480,
java.lang.Object(
Tree(
o49478Field0,
o49478Field1,
o49478Field2)),
java.lang.Object(
Tree(
o50362Field0,
o50362Field1,
o50362Field2))) →
Load36791(
o49481,
o49480,
java.lang.Object(
Tree(
o49478Field0,
o49478Field1,
o49478Field2)),
java.lang.Object(
Tree(
o50362Field0,
o50362Field1,
o50362Field2)),
java.lang.Object(
Tree(
o49478Field0,
o49478Field1,
o49478Field2)),
java.lang.Object(
Tree(
o49478Field0,
o49478Field1,
o49478Field2)))
JMP43433(
o66388,
o66387,
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o68588,
java.lang.Object(
Tree(
o68589,
o66987,
NULL)),
NULL))) →
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o68588,
java.lang.Object(
Tree(
o68589,
o66987,
NULL)),
NULL)))
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68588,
o68589,
o68590)),
o66987,
o66988))) →
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o68588,
java.lang.Object(
Tree(
o68589,
o66987,
NULL)),
NULL)))
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68614,
o68615,
o68616)),
o66992,
o66993)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68614,
o68615,
o68616)),
o66992,
o66993)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68614,
o68615,
o68616)),
o66992,
o66993))) →
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68614,
o68615,
o68616)),
o66992,
o66993)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68614,
o68615,
o68616)),
o66992,
o66993)),
java.lang.Object(
Tree(
o68614,
java.lang.Object(
Tree(
o68615,
o66992,
NULL)),
NULL)))
Load36791(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
o66387,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003))) →
Load36791(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
o66387,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
java.lang.Object(
Tree(
o68686,
java.lang.Object(
Tree(
o68687,
o67002,
NULL)),
NULL)))
Load36791(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68654,
o68655,
o68656)),
o66997,
o66998)),
o66387,
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68654,
o68655,
o68656)),
o66997,
o66998))) →
JMP43433(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68654,
o68655,
o68656)),
o66997,
o66998)),
o66387,
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o68654,
java.lang.Object(
Tree(
o68655,
o66997,
NULL)),
NULL)))
JMP44585(
o97213,
o97212,
o97210,
o97249) →
Load31330(
o97213,
o97212,
o97210,
o97249)
Store44491(
o97213,
o97212,
o97210,
o97249) →
Load31330(
o97213,
o97212,
o97210,
o97249)
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
NULL,
o97249,
o97250))) →
Load31330(
o97213,
o97212,
o97210,
o97249)
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
NULL,
o97256,
o97257)),
java.lang.Object(
Tree(
NULL,
o97256,
o97257)),
java.lang.Object(
Tree(
NULL,
o97256,
o97257))) →
JMP44585(
o97213,
o97212,
o97210,
o97256)
Load44066(
o97213,
java.lang.Object(
Tree(
NULL,
o97270,
o97271)),
o97210,
java.lang.Object(
Tree(
NULL,
o97270,
o97271)),
java.lang.Object(
Tree(
NULL,
o97270,
o97271)),
java.lang.Object(
Tree(
NULL,
o97270,
o97271))) →
JMP44585(
o97213,
java.lang.Object(
Tree(
NULL,
o97270,
o97271)),
o97210,
o97270)
Load44066(
o97213,
java.lang.Object(
Tree(
NULL,
o97263,
o97264)),
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
NULL,
o97263,
o97264))) →
Store44491(
o97213,
java.lang.Object(
Tree(
NULL,
o97263,
o97264)),
o97210,
o97263)
Load37906(
o66388,
o66387,
o66987,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2))) →
Load44066(
o66388,
o66387,
o66987,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
Store37702(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
o66987) →
Load44066(
o66388,
o66387,
o66987,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
NULL,
o66987,
o66988))) →
Load44066(
o66388,
o66387,
o66987,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
JMP46979(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o99119,
java.lang.Object(
Tree(
o99120,
o97249,
NULL)),
NULL))) →
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o99119,
java.lang.Object(
Tree(
o99120,
o97249,
NULL)),
NULL)))
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99119,
o99120,
o99121)),
o97249,
o97250))) →
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o99119,
java.lang.Object(
Tree(
o99120,
o97249,
NULL)),
NULL)))
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99165,
o99166,
o99167)),
o97256,
o97257)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99165,
o99166,
o99167)),
o97256,
o97257)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99165,
o99166,
o99167)),
o97256,
o97257))) →
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99165,
o99166,
o99167)),
o97256,
o97257)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99165,
o99166,
o99167)),
o97256,
o97257)),
java.lang.Object(
Tree(
o99165,
java.lang.Object(
Tree(
o99166,
o97256,
NULL)),
NULL)))
Load44066(
o97213,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
o97210,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271))) →
Load44066(
o97213,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
o97210,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
java.lang.Object(
Tree(
o99277,
java.lang.Object(
Tree(
o99278,
o97270,
NULL)),
NULL)))
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
NULL,
o66992,
o66993)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
NULL,
o66992,
o66993)),
java.lang.Object(
Tree(
NULL,
o66992,
o66993))) →
Load37906(
o66388,
o66387,
o66992,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
Load36791(
java.lang.Object(
Tree(
NULL,
o67002,
o67003)),
o66387,
java.lang.Object(
Tree(
NULL,
o67002,
o67003)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
NULL,
o67002,
o67003)),
java.lang.Object(
Tree(
NULL,
o67002,
o67003))) →
Load37906(
java.lang.Object(
Tree(
NULL,
o67002,
o67003)),
o66387,
o67002,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
Load36791(
java.lang.Object(
Tree(
NULL,
o66997,
o66998)),
o66387,
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
NULL,
o66997,
o66998))) →
Store37702(
java.lang.Object(
Tree(
NULL,
o66997,
o66998)),
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
o66997)
Load44066(
o97213,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99224,
o99225,
o99226)),
o97263,
o97264)),
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99224,
o99225,
o99226)),
o97263,
o97264))) →
JMP46979(
o97213,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99224,
o99225,
o99226)),
o97263,
o97264)),
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o99224,
java.lang.Object(
Tree(
o99225,
o97263,
NULL)),
NULL)))
The set Q consists of the following terms:
Load31330(
x0,
x1,
x2,
x3)
NULL31532(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
x5,
java.lang.Object(
Tree(
x2,
x3,
x4)))
Load31861(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)))
JMP43433(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x8,
java.lang.Object(
Tree(
x9,
x10,
NULL)),
NULL)))
Load36791(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11,
x12)))
JMP44585(
x0,
x1,
x2,
x3)
Store44491(
x0,
x1,
x2,
x3)
Load44066(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load37906(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Store37702(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
x5)
Load36791(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
NULL,
x8,
x9)))
JMP46979(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
NULL)),
NULL)))
Load44066(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
(6) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP46979(x1, x2, x3, x4, x5, x6) → JMP46979(x1, x2, x3, x5, x6)
Load44066(x1, x2, x3, x4, x5, x6) → Load44066(x1, x2, x3, x5, x6)
Load36791(x1, x2, x3, x4, x5, x6) → Load36791(x1, x2, x4, x5, x6)
JMP43433(x1, x2, x3, x4, x5, x6) → JMP43433(x1, x2, x4, x5, x6)
NULL31532(x1, x2, x3, x4, x5) → NULL31532(x1, x2, x4, x5)
(7) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load31330(
o48160,
o48159,
o48157,
o48158) →
NULL31532(
o48160,
o48159,
o48158,
o48157)
NULL31532(
o48592,
o48591,
o48590,
java.lang.Object(
Tree(
o49086Field0,
o49086Field1,
o49086Field2))) →
Load31861(
o48592,
o48591,
java.lang.Object(
Tree(
o49086Field0,
o49086Field1,
o49086Field2)),
o48590)
Load31861(
o49481,
o49480,
java.lang.Object(
Tree(
o49478Field0,
o49478Field1,
o49478Field2)),
java.lang.Object(
Tree(
o50362Field0,
o50362Field1,
o50362Field2))) →
Load36791(
o49481,
o49480,
java.lang.Object(
Tree(
o50362Field0,
o50362Field1,
o50362Field2)),
java.lang.Object(
Tree(
o49478Field0,
o49478Field1,
o49478Field2)),
java.lang.Object(
Tree(
o49478Field0,
o49478Field1,
o49478Field2)))
JMP43433(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o68588,
java.lang.Object(
Tree(
o68589,
o66987,
NULL)),
NULL))) →
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o68588,
java.lang.Object(
Tree(
o68589,
o66987,
NULL)),
NULL)))
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68588,
o68589,
o68590)),
o66987,
o66988))) →
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o68588,
java.lang.Object(
Tree(
o68589,
o66987,
NULL)),
NULL)))
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68614,
o68615,
o68616)),
o66992,
o66993)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68614,
o68615,
o68616)),
o66992,
o66993))) →
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68614,
o68615,
o68616)),
o66992,
o66993)),
java.lang.Object(
Tree(
o68614,
java.lang.Object(
Tree(
o68615,
o66992,
NULL)),
NULL)))
Load36791(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003))) →
Load36791(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68686,
o68687,
o68688)),
o67002,
o67003)),
java.lang.Object(
Tree(
o68686,
java.lang.Object(
Tree(
o68687,
o67002,
NULL)),
NULL)))
Load36791(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68654,
o68655,
o68656)),
o66997,
o66998)),
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68654,
o68655,
o68656)),
o66997,
o66998))) →
JMP43433(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o68654,
o68655,
o68656)),
o66997,
o66998)),
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
o68654,
java.lang.Object(
Tree(
o68655,
o66997,
NULL)),
NULL)))
JMP44585(
o97213,
o97212,
o97210,
o97249) →
Load31330(
o97213,
o97212,
o97210,
o97249)
Store44491(
o97213,
o97212,
o97210,
o97249) →
Load31330(
o97213,
o97212,
o97210,
o97249)
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
NULL,
o97249,
o97250))) →
Load31330(
o97213,
o97212,
o97210,
o97249)
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
NULL,
o97256,
o97257)),
java.lang.Object(
Tree(
NULL,
o97256,
o97257))) →
JMP44585(
o97213,
o97212,
o97210,
o97256)
Load44066(
o97213,
java.lang.Object(
Tree(
NULL,
o97270,
o97271)),
o97210,
java.lang.Object(
Tree(
NULL,
o97270,
o97271)),
java.lang.Object(
Tree(
NULL,
o97270,
o97271))) →
JMP44585(
o97213,
java.lang.Object(
Tree(
NULL,
o97270,
o97271)),
o97210,
o97270)
Load44066(
o97213,
java.lang.Object(
Tree(
NULL,
o97263,
o97264)),
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
NULL,
o97263,
o97264))) →
Store44491(
o97213,
java.lang.Object(
Tree(
NULL,
o97263,
o97264)),
o97210,
o97263)
Load37906(
o66388,
o66387,
o66987,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2))) →
Load44066(
o66388,
o66387,
o66987,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
Store37702(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
o66987) →
Load44066(
o66388,
o66387,
o66987,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
NULL,
o66987,
o66988))) →
Load44066(
o66388,
o66387,
o66987,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
JMP46979(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o99119,
java.lang.Object(
Tree(
o99120,
o97249,
NULL)),
NULL))) →
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o99119,
java.lang.Object(
Tree(
o99120,
o97249,
NULL)),
NULL)))
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99119,
o99120,
o99121)),
o97249,
o97250))) →
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o99119,
java.lang.Object(
Tree(
o99120,
o97249,
NULL)),
NULL)))
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99165,
o99166,
o99167)),
o97256,
o97257)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99165,
o99166,
o99167)),
o97256,
o97257))) →
Load44066(
o97213,
o97212,
o97210,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99165,
o99166,
o99167)),
o97256,
o97257)),
java.lang.Object(
Tree(
o99165,
java.lang.Object(
Tree(
o99166,
o97256,
NULL)),
NULL)))
Load44066(
o97213,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
o97210,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271))) →
Load44066(
o97213,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
o97210,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99277,
o99278,
o99279)),
o97270,
o97271)),
java.lang.Object(
Tree(
o99277,
java.lang.Object(
Tree(
o99278,
o97270,
NULL)),
NULL)))
Load36791(
o66388,
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
NULL,
o66992,
o66993)),
java.lang.Object(
Tree(
NULL,
o66992,
o66993))) →
Load37906(
o66388,
o66387,
o66992,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
Load36791(
java.lang.Object(
Tree(
NULL,
o67002,
o67003)),
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
NULL,
o67002,
o67003)),
java.lang.Object(
Tree(
NULL,
o67002,
o67003))) →
Load37906(
java.lang.Object(
Tree(
NULL,
o67002,
o67003)),
o66387,
o67002,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)))
Load36791(
java.lang.Object(
Tree(
NULL,
o66997,
o66998)),
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
java.lang.Object(
Tree(
o66385Field0,
o66385Field1,
o66385Field2)),
java.lang.Object(
Tree(
NULL,
o66997,
o66998))) →
Store37702(
java.lang.Object(
Tree(
NULL,
o66997,
o66998)),
o66387,
java.lang.Object(
Tree(
o66386Field0,
o66386Field1,
o66386Field2)),
o66997)
Load44066(
o97213,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99224,
o99225,
o99226)),
o97263,
o97264)),
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99224,
o99225,
o99226)),
o97263,
o97264))) →
JMP46979(
o97213,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o99224,
o99225,
o99226)),
o97263,
o97264)),
o97210,
java.lang.Object(
Tree(
o97211Field0,
o97211Field1,
o97211Field2)),
java.lang.Object(
Tree(
o99224,
java.lang.Object(
Tree(
o99225,
o97263,
NULL)),
NULL)))
The set Q consists of the following terms:
Load31330(
x0,
x1,
x2,
x3)
NULL31532(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load31861(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)))
JMP43433(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x8,
java.lang.Object(
Tree(
x9,
x10,
NULL)),
NULL)))
Load36791(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11,
x12)))
JMP44585(
x0,
x1,
x2,
x3)
Store44491(
x0,
x1,
x2,
x3)
Load44066(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load37906(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Store37702(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
x5)
Load36791(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
NULL,
x8,
x9)))
JMP46979(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
NULL)),
NULL)))
Load44066(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
(8) ITRStoQTRSProof (EQUIVALENT transformation)
Represented integers and predefined function symbols by Terms
(9) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
Load31330(o48160, o48159, o48157, o48158) → NULL31532(o48160, o48159, o48158, o48157)
NULL31532(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → Load31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
Load31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → Load36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP43433(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP43433(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP44585(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Store44491(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP44585(o97213, o97212, o97210, o97256)
Load44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP44585(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
Load44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → Store44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
Load37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Store37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP46979(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → Load37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → Load37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → Store37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP46979(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
The set Q consists of the following terms:
Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
(10) DependencyPairsProof (EQUIVALENT transformation)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
(11) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LOAD31330(o48160, o48159, o48157, o48158) → NULL315321(o48160, o48159, o48158, o48157)
NULL315321(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → LOAD31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
LOAD31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → LOAD36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP445851(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
STORE44491(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP445851(o97213, o97212, o97210, o97256)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP445851(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → STORE44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
LOAD37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
STORE37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → LOAD37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → LOAD37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → STORE37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
The TRS R consists of the following rules:
Load31330(o48160, o48159, o48157, o48158) → NULL31532(o48160, o48159, o48158, o48157)
NULL31532(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → Load31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
Load31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → Load36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP43433(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP43433(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP44585(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Store44491(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP44585(o97213, o97212, o97210, o97256)
Load44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP44585(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
Load44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → Store44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
Load37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Store37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP46979(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → Load37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → Load37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → Store37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP46979(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
The set Q consists of the following terms:
Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
We have to consider all minimal (P,Q,R)-chains.
(12) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(13) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LOAD31330(o48160, o48159, o48157, o48158) → NULL315321(o48160, o48159, o48158, o48157)
NULL315321(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → LOAD31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
LOAD31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → LOAD36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP445851(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
STORE44491(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP445851(o97213, o97212, o97210, o97256)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP445851(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → STORE44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
LOAD37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
STORE37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → LOAD37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → LOAD37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → STORE37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
R is empty.
The set Q consists of the following terms:
Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
We have to consider all minimal (P,Q,R)-chains.
(14) QReductionProof (EQUIVALENT transformation)
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].
Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
(15) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LOAD31330(o48160, o48159, o48157, o48158) → NULL315321(o48160, o48159, o48158, o48157)
NULL315321(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → LOAD31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
LOAD31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → LOAD36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP445851(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
STORE44491(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP445851(o97213, o97212, o97210, o97256)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP445851(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → STORE44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
LOAD37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
STORE37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → LOAD37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → LOAD37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → STORE37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(16) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP445851(o97213, o97212, o97210, o97256)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP445851(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → STORE44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(JMP434331(x1, x2, x3, x4, x5)) = x2 + x3
POL(JMP445851(x1, x2, x3, x4)) = x2 + x4
POL(JMP469791(x1, x2, x3, x4, x5)) = x2 + x5
POL(LOAD31330(x1, x2, x3, x4)) = x2 + x4
POL(LOAD31861(x1, x2, x3, x4)) = x2 + x4
POL(LOAD36791(x1, x2, x3, x4, x5)) = x2 + x3
POL(LOAD37906(x1, x2, x3, x4)) = x2 + x4
POL(LOAD44066(x1, x2, x3, x4, x5)) = x2 + x5
POL(NULL) = 1
POL(NULL315321(x1, x2, x3, x4)) = x2 + x3
POL(STORE37702(x1, x2, x3, x4)) = x2 + x3
POL(STORE44491(x1, x2, x3, x4)) = x2 + x4
POL(Tree(x1, x2, x3)) = x1 + x2
POL(java.lang.Object(x1)) = x1
The following usable rules [FROCOS05] were oriented:
none
(17) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LOAD31330(o48160, o48159, o48157, o48158) → NULL315321(o48160, o48159, o48158, o48157)
NULL315321(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → LOAD31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
LOAD31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → LOAD36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP445851(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
STORE44491(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
STORE37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → LOAD37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → LOAD37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → STORE37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(18) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 11 less nodes.
(19) Complex Obligation (AND)
(20) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(21) MRRProof (EQUIVALENT transformation)
By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
Used ordering: Polynomial interpretation [POLO]:
POL(JMP469791(x1, x2, x3, x4, x5)) = 2 + x1 + x2 + x3 + 2·x4 + 2·x5
POL(LOAD44066(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + 2·x4 + 2·x5
POL(NULL) = 0
POL(Tree(x1, x2, x3)) = 2·x1 + x2 + 2·x3
POL(java.lang.Object(x1)) = 2 + x1
(22) Obligation:
Q DP problem:
P is empty.
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(23) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(24) TRUE
(25) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(26) MRRProof (EQUIVALENT transformation)
By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
Used ordering: Polynomial interpretation [POLO]:
POL(JMP434331(x1, x2, x3, x4, x5)) = 2 + 2·x1 + x2 + 2·x3 + x4 + x5
POL(LOAD36791(x1, x2, x3, x4, x5)) = 2·x1 + x2 + 2·x3 + x4 + x5
POL(NULL) = 0
POL(Tree(x1, x2, x3)) = 2·x1 + x2 + 2·x3
POL(java.lang.Object(x1)) = 2 + x1
(27) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(28) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.
(29) TRUE
(30) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC)))) →
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR1(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)))
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059))) →
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR2(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)))
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982))) →
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR3(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)))
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC)))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
JMP42561(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC)))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
NULL,
o70982))) →
Load36231ARR4(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
NULL,
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Load36231ARR4(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR4(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Cond_Load36231ARR4(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC)))) →
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR5(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)))
JMP42611(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC)))) →
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o71058,
o71059))) →
Load36231ARR6(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR6(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR6(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR6(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
NULL,
java.lang.Object(
EOC)))) →
Load36231ARR7(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Load36231ARR7(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR7(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Cond_Load36231ARR7(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
JMP42561(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
NULL,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o64336,
java.lang.Object(
EOC)))) →
Load36231ARR8(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
NULL,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR8(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR8(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR8(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP42611(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc42733(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP42561(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load36231ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load36231ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP42611(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load36231ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load36231ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load36231ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load36231ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load36231ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load36231ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(31) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP42611(x1, x2, x3, x4, x5) → JMP42611(x1, x2, x3, x5)
Cond_Load36231ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR8(x1, x2, x3, x4, x6, x7)
Load36231ARR8(x1, x2, x3, x4, x5, x6) → Load36231ARR8(x1, x2, x3, x5, x6)
JMP42561(x1, x2, x3, x4, x5) → JMP42561(x1, x2, x3, x5)
Cond_Load36231ARR7(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR7(x1, x2, x3, x4, x6, x7)
Load36231ARR7(x1, x2, x3, x4, x5, x6) → Load36231ARR7(x1, x2, x3, x5, x6)
Inc42733(x1, x2, x3, x4, x5) → Inc42733(x1, x2, x3, x5)
Cond_Load36231ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR5(x1, x2, x3, x4, x6, x7)
Load36231ARR5(x1, x2, x3, x4, x5, x6) → Load36231ARR5(x1, x2, x3, x5, x6)
Cond_Load36231ARR1(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR1(x1, x2, x3, x4, x6, x7)
Load36231ARR1(x1, x2, x3, x4, x5, x6) → Load36231ARR1(x1, x2, x3, x5, x6)
(32) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC)))) →
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR1(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o71512Field0,
o71512Field1,
o71512Field2)))
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059))) →
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR2(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72272Field0,
o72272Field1,
o72272Field2)))
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982))) →
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR3(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o72092Field0,
o72092Field1,
o72092Field2)))
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC)))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
JMP42561(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC)))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
NULL,
o70982))) →
Load36231ARR4(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
NULL,
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Load36231ARR4(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR4(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Cond_Load36231ARR4(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o70980,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o70982)),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355 + -1,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC)))) →
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR5(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o71695Field0,
o71695Field1,
o71695Field2)))
JMP42611(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC)))) →
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o71058,
o71059))) →
Load36231ARR6(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR6(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR6(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR6(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o71058,
o71059)),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
o64335,
o64336,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o64335,
NULL,
java.lang.Object(
EOC)))) →
Load36231ARR7(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Load36231ARR7(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR7(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022)))
Cond_Load36231ARR7(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20843,
i20845,
a49022))) →
JMP42561(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
o64335,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
NULL,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o64336,
java.lang.Object(
EOC)))) →
Load36231ARR8(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
NULL,
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR8(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR8(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR8(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP42611(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o64336,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc42733(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP42561(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load36231ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load36231ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP42611(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load36231ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load36231ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load36231ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load36231ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load36231ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load36231ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(33) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load36231(x1, x2, x3, x4, x5) → Load36231(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load36231ARR1(x1, x2, x3, x4, x5) → Load36231ARR1(x1, x2, x3)
Cond_Load36231ARR1(x1, x2, x3, x4, x5, x6) → Cond_Load36231ARR1(x1, x2, x3, x4)
Inc40003(x1, x2, x3, x4, x5) → Inc40003(x1, x2, x3)
JMP40088(x1, x2, x3, x4, x5) → JMP40088(x1, x2, x3)
Load36231ARR2(x1, x2, x3, x4, x5, x6) → Load36231ARR2(x1, x2, x3, x6)
Cond_Load36231ARR2(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR2(x1, x2, x3, x4, x7)
Load36231ARR3(x1, x2, x3, x4, x5, x6) → Load36231ARR3(x1, x2, x3)
Cond_Load36231ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR3(x1, x2, x3, x4)
Inc42733(x1, x2, x3, x4) → Inc42733(x1, x2, x3)
JMP42561(x1, x2, x3, x4) → JMP42561(x1, x2, x3)
Load36231ARR4(x1, x2, x3, x4, x5, x6) → Load36231ARR4(x1, x2, x3)
Cond_Load36231ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR4(x1, x2, x3, x4)
Load36231ARR5(x1, x2, x3, x4, x5) → Load36231ARR5(x1, x2, x3, x5)
Cond_Load36231ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load36231ARR5(x1, x2, x3, x4, x6)
JMP42611(x1, x2, x3, x4) → JMP42611(x1, x2, x3)
Load36231ARR6(x1, x2, x3, x4, x5, x6) → Load36231ARR6(x1, x2, x3, x6)
Cond_Load36231ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR6(x1, x2, x3, x4, x7)
Load36231ARR7(x1, x2, x3, x4, x5) → Load36231ARR7(x1, x2, x3)
Cond_Load36231ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load36231ARR7(x1, x2, x3, x4)
Load36231ARR8(x1, x2, x3, x4, x5) → Load36231ARR8(x1, x2, x3, x5)
Cond_Load36231ARR8(x1, x2, x3, x4, x5, x6) → Cond_Load36231ARR8(x1, x2, x3, x4, x6)
(34) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Cond_Load36231ARR1(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR2(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Cond_Load36231ARR3(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355 + -1)
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1)
JMP42561(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR4(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Load36231ARR4(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Cond_Load36231ARR4(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Cond_Load36231ARR4(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355 + -1)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR5(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
JMP42611(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR6(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR6(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR6(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR6(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Inc42733(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR7(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Load36231ARR7(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Cond_Load36231ARR7(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Cond_Load36231ARR7(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
JMP42561(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR8(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR8(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR8(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR8(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP42611(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
The set Q consists of the following terms:
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc42733(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP42561(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
JMP42611(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load36231ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(35) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Load36231ARR1, Load36231ARR7 | > | Load36231ARR1_3 |
Load36231ARR3, Load36231ARR4 | > | Load36231ARR3_3 |
Cond_Load36231ARR1, Cond_Load36231ARR7 | > | Cond_Load36231ARR1_4 |
JMP40088, JMP42611 | > | JMP40088_3 |
Load36231ARR2, Load36231ARR6 | > | Load36231ARR2_4 |
Load36231ARR5, Load36231ARR8 | > | Load36231ARR5_4 |
Cond_Load36231ARR5, Cond_Load36231ARR8 | > | Cond_Load36231ARR5_5 |
Cond_Load36231ARR2, Cond_Load36231ARR6 | > | Cond_Load36231ARR2_5 |
Inc40003, Inc42733, JMP42561 | > | Inc40003_3 |
Cond_Load36231ARR3, Cond_Load36231ARR4 | > | Cond_Load36231ARR3_4 |
(36) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Cond_Load36231ARR1(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR2(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Cond_Load36231ARR3(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355 + -1)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR5(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
The set Q consists of the following terms:
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(37) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(38) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
The ITRS R consists of the following rules:
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Load36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Cond_Load36231ARR1(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR2(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
Inc40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355 + -1)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Load36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Cond_Load36231ARR3(
i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355 + -1)
Load36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Load36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
Cond_Load36231ARR5(
i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP40088(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225 + 1,
i20355)
The integer pair graph contains the following rules and edges:
(0):
LOAD36231(
java.lang.Object(
ARRAY(
i2[0],
a47355data[0])),
i20225[0],
i20355[0]) →
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2[0],
a47355data[0])),
i20225[0],
i20355[0])
(1):
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2[1],
a47355data[1])),
i20225[1],
i20355[1]) →
COND_LOAD36231ARR1(
i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a47355data[1])),
i20225[1],
i20355[1])
(2):
COND_LOAD36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a47355data[2])),
i20225[2],
i20355[2]) →
INC40003(
java.lang.Object(
ARRAY(
i2[2],
a47355data[2])),
i20225[2] + 1,
i20355[2])
(3):
JMP40088'(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3]) →
INC40003(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3])
(4):
LOAD36231(
java.lang.Object(
ARRAY(
i2[4],
a47355data[4])),
i20225[4],
i20355[4]) →
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2[4],
a47355data[4])),
i20225[4],
i20355[4],
java.lang.Object(
java.lang.String(
i21156[4],
i20843[4],
i20845[4],
a49022[4])))
(5):
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2[5],
a47355data[5])),
i20225[5],
i20355[5],
java.lang.Object(
java.lang.String(
i21156[5],
i20843[5],
i20845[5],
a49022[5]))) →
COND_LOAD36231ARR2(
i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a47355data[5])),
i20225[5],
i20355[5],
java.lang.Object(
java.lang.String(
i21156[5],
i20843[5],
i20845[5],
a49022[5])))
(6):
COND_LOAD36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a47355data[6])),
i20225[6],
i20355[6],
java.lang.Object(
java.lang.String(
i21156[6],
i20843[6],
i20845[6],
a49022[6]))) →
INC40003(
java.lang.Object(
ARRAY(
i2[6],
a47355data[6])),
i20225[6] + 1,
i20355[6])
(7):
INC40003(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7] + -1)
(8):
LOAD36231(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8]) →
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8])
(9):
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2[9],
a47355data[9])),
i20225[9],
i20355[9]) →
COND_LOAD36231ARR3(
i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a47355data[9])),
i20225[9],
i20355[9])
(10):
COND_LOAD36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a47355data[10])),
i20225[10],
i20355[10]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[10],
a47355data[10])),
i20225[10] + 1,
i20355[10] + -1)
(11):
LOAD36231(
java.lang.Object(
ARRAY(
i2[11],
a47355data[11])),
i20225[11],
i20355[11]) →
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2[11],
a47355data[11])),
i20225[11],
i20355[11],
java.lang.Object(
java.lang.String(
i21156[11],
i20843[11],
i20845[11],
a49022[11])))
(12):
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2[12],
a47355data[12])),
i20225[12],
i20355[12],
java.lang.Object(
java.lang.String(
i21156[12],
i20843[12],
i20845[12],
a49022[12]))) →
COND_LOAD36231ARR5(
i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a47355data[12])),
i20225[12],
i20355[12],
java.lang.Object(
java.lang.String(
i21156[12],
i20843[12],
i20845[12],
a49022[12])))
(13):
COND_LOAD36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a47355data[13])),
i20225[13],
i20355[13],
java.lang.Object(
java.lang.String(
i21156[13],
i20843[13],
i20845[13],
a49022[13]))) →
JMP40088'(
java.lang.Object(
ARRAY(
i2[13],
a47355data[13])),
i20225[13] + 1,
i20355[13])
(0) -> (1), if ((i20225[0] →* i20225[1])∧(i20355[0] →* i20355[1])∧(java.lang.Object(ARRAY(i2[0], a47355data[0])) →* java.lang.Object(ARRAY(i2[1], a47355data[1]))))
(1) -> (2), if ((i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i2[1], a47355data[1])) →* java.lang.Object(ARRAY(i2[2], a47355data[2])))∧(i20355[1] →* i20355[2])∧(i20225[1] →* i20225[2]))
(2) -> (7), if ((i20225[2] + 1 →* i20581[7])∧(java.lang.Object(ARRAY(i2[2], a47355data[2])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20355[2] →* i20355[7]))
(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a47355data[3])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20581[3] →* i20581[7])∧(i20355[3] →* i20355[7]))
(4) -> (5), if ((java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])) →* java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))∧(i20355[4] →* i20355[5])∧(i20225[4] →* i20225[5])∧(java.lang.Object(ARRAY(i2[4], a47355data[4])) →* java.lang.Object(ARRAY(i2[5], a47355data[5]))))
(5) -> (6), if ((i20355[5] →* i20355[6])∧(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0 →* TRUE)∧(i20225[5] →* i20225[6])∧(java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])) →* java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6])))∧(java.lang.Object(ARRAY(i2[5], a47355data[5])) →* java.lang.Object(ARRAY(i2[6], a47355data[6]))))
(6) -> (7), if ((i20355[6] →* i20355[7])∧(java.lang.Object(ARRAY(i2[6], a47355data[6])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20225[6] + 1 →* i20581[7]))
(7) -> (0), if ((java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[0], a47355data[0])))∧(i20581[7] →* i20225[0])∧(i20355[7] + -1 →* i20355[0]))
(7) -> (4), if ((i20355[7] + -1 →* i20355[4])∧(java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[4], a47355data[4])))∧(i20581[7] →* i20225[4]))
(7) -> (8), if ((i20355[7] + -1 →* i20355[8])∧(i20581[7] →* i20225[8])∧(java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[8], a47355data[8]))))
(7) -> (11), if ((java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[11], a47355data[11])))∧(i20581[7] →* i20225[11])∧(i20355[7] + -1 →* i20355[11]))
(8) -> (9), if ((i20225[8] →* i20225[9])∧(java.lang.Object(ARRAY(i2[8], a47355data[8])) →* java.lang.Object(ARRAY(i2[9], a47355data[9])))∧(i20355[8] →* i20355[9]))
(9) -> (10), if ((i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0 →* TRUE)∧(i20355[9] →* i20355[10])∧(java.lang.Object(ARRAY(i2[9], a47355data[9])) →* java.lang.Object(ARRAY(i2[10], a47355data[10])))∧(i20225[9] →* i20225[10]))
(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[0], a47355data[0])))∧(i20355[10] + -1 →* i20355[0])∧(i20225[10] + 1 →* i20225[0]))
(10) -> (4), if ((i20225[10] + 1 →* i20225[4])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[4], a47355data[4])))∧(i20355[10] + -1 →* i20355[4]))
(10) -> (8), if ((i20355[10] + -1 →* i20355[8])∧(i20225[10] + 1 →* i20225[8])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[8], a47355data[8]))))
(10) -> (11), if ((i20355[10] + -1 →* i20355[11])∧(i20225[10] + 1 →* i20225[11])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[11], a47355data[11]))))
(11) -> (12), if ((i20355[11] →* i20355[12])∧(java.lang.Object(ARRAY(i2[11], a47355data[11])) →* java.lang.Object(ARRAY(i2[12], a47355data[12])))∧(java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])) →* java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))∧(i20225[11] →* i20225[12]))
(12) -> (13), if ((i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0 →* TRUE)∧(i20225[12] →* i20225[13])∧(java.lang.Object(ARRAY(i2[12], a47355data[12])) →* java.lang.Object(ARRAY(i2[13], a47355data[13])))∧(java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])) →* java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13])))∧(i20355[12] →* i20355[13]))
(13) -> (3), if ((i20355[13] →* i20355[3])∧(i20225[13] + 1 →* i20581[3])∧(java.lang.Object(ARRAY(i2[13], a47355data[13])) →* java.lang.Object(ARRAY(i2[3], a47355data[3]))))
The set Q consists of the following terms:
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(39) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(40) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD36231(
java.lang.Object(
ARRAY(
i2[0],
a47355data[0])),
i20225[0],
i20355[0]) →
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2[0],
a47355data[0])),
i20225[0],
i20355[0])
(1):
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2[1],
a47355data[1])),
i20225[1],
i20355[1]) →
COND_LOAD36231ARR1(
i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a47355data[1])),
i20225[1],
i20355[1])
(2):
COND_LOAD36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a47355data[2])),
i20225[2],
i20355[2]) →
INC40003(
java.lang.Object(
ARRAY(
i2[2],
a47355data[2])),
i20225[2] + 1,
i20355[2])
(3):
JMP40088'(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3]) →
INC40003(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3])
(4):
LOAD36231(
java.lang.Object(
ARRAY(
i2[4],
a47355data[4])),
i20225[4],
i20355[4]) →
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2[4],
a47355data[4])),
i20225[4],
i20355[4],
java.lang.Object(
java.lang.String(
i21156[4],
i20843[4],
i20845[4],
a49022[4])))
(5):
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2[5],
a47355data[5])),
i20225[5],
i20355[5],
java.lang.Object(
java.lang.String(
i21156[5],
i20843[5],
i20845[5],
a49022[5]))) →
COND_LOAD36231ARR2(
i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a47355data[5])),
i20225[5],
i20355[5],
java.lang.Object(
java.lang.String(
i21156[5],
i20843[5],
i20845[5],
a49022[5])))
(6):
COND_LOAD36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a47355data[6])),
i20225[6],
i20355[6],
java.lang.Object(
java.lang.String(
i21156[6],
i20843[6],
i20845[6],
a49022[6]))) →
INC40003(
java.lang.Object(
ARRAY(
i2[6],
a47355data[6])),
i20225[6] + 1,
i20355[6])
(7):
INC40003(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7] + -1)
(8):
LOAD36231(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8]) →
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8])
(9):
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2[9],
a47355data[9])),
i20225[9],
i20355[9]) →
COND_LOAD36231ARR3(
i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a47355data[9])),
i20225[9],
i20355[9])
(10):
COND_LOAD36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a47355data[10])),
i20225[10],
i20355[10]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[10],
a47355data[10])),
i20225[10] + 1,
i20355[10] + -1)
(11):
LOAD36231(
java.lang.Object(
ARRAY(
i2[11],
a47355data[11])),
i20225[11],
i20355[11]) →
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2[11],
a47355data[11])),
i20225[11],
i20355[11],
java.lang.Object(
java.lang.String(
i21156[11],
i20843[11],
i20845[11],
a49022[11])))
(12):
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2[12],
a47355data[12])),
i20225[12],
i20355[12],
java.lang.Object(
java.lang.String(
i21156[12],
i20843[12],
i20845[12],
a49022[12]))) →
COND_LOAD36231ARR5(
i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a47355data[12])),
i20225[12],
i20355[12],
java.lang.Object(
java.lang.String(
i21156[12],
i20843[12],
i20845[12],
a49022[12])))
(13):
COND_LOAD36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a47355data[13])),
i20225[13],
i20355[13],
java.lang.Object(
java.lang.String(
i21156[13],
i20843[13],
i20845[13],
a49022[13]))) →
JMP40088'(
java.lang.Object(
ARRAY(
i2[13],
a47355data[13])),
i20225[13] + 1,
i20355[13])
(0) -> (1), if ((i20225[0] →* i20225[1])∧(i20355[0] →* i20355[1])∧(java.lang.Object(ARRAY(i2[0], a47355data[0])) →* java.lang.Object(ARRAY(i2[1], a47355data[1]))))
(1) -> (2), if ((i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i2[1], a47355data[1])) →* java.lang.Object(ARRAY(i2[2], a47355data[2])))∧(i20355[1] →* i20355[2])∧(i20225[1] →* i20225[2]))
(2) -> (7), if ((i20225[2] + 1 →* i20581[7])∧(java.lang.Object(ARRAY(i2[2], a47355data[2])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20355[2] →* i20355[7]))
(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a47355data[3])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20581[3] →* i20581[7])∧(i20355[3] →* i20355[7]))
(4) -> (5), if ((java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])) →* java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))∧(i20355[4] →* i20355[5])∧(i20225[4] →* i20225[5])∧(java.lang.Object(ARRAY(i2[4], a47355data[4])) →* java.lang.Object(ARRAY(i2[5], a47355data[5]))))
(5) -> (6), if ((i20355[5] →* i20355[6])∧(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0 →* TRUE)∧(i20225[5] →* i20225[6])∧(java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])) →* java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6])))∧(java.lang.Object(ARRAY(i2[5], a47355data[5])) →* java.lang.Object(ARRAY(i2[6], a47355data[6]))))
(6) -> (7), if ((i20355[6] →* i20355[7])∧(java.lang.Object(ARRAY(i2[6], a47355data[6])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20225[6] + 1 →* i20581[7]))
(7) -> (0), if ((java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[0], a47355data[0])))∧(i20581[7] →* i20225[0])∧(i20355[7] + -1 →* i20355[0]))
(7) -> (4), if ((i20355[7] + -1 →* i20355[4])∧(java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[4], a47355data[4])))∧(i20581[7] →* i20225[4]))
(7) -> (8), if ((i20355[7] + -1 →* i20355[8])∧(i20581[7] →* i20225[8])∧(java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[8], a47355data[8]))))
(7) -> (11), if ((java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[11], a47355data[11])))∧(i20581[7] →* i20225[11])∧(i20355[7] + -1 →* i20355[11]))
(8) -> (9), if ((i20225[8] →* i20225[9])∧(java.lang.Object(ARRAY(i2[8], a47355data[8])) →* java.lang.Object(ARRAY(i2[9], a47355data[9])))∧(i20355[8] →* i20355[9]))
(9) -> (10), if ((i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0 →* TRUE)∧(i20355[9] →* i20355[10])∧(java.lang.Object(ARRAY(i2[9], a47355data[9])) →* java.lang.Object(ARRAY(i2[10], a47355data[10])))∧(i20225[9] →* i20225[10]))
(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[0], a47355data[0])))∧(i20355[10] + -1 →* i20355[0])∧(i20225[10] + 1 →* i20225[0]))
(10) -> (4), if ((i20225[10] + 1 →* i20225[4])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[4], a47355data[4])))∧(i20355[10] + -1 →* i20355[4]))
(10) -> (8), if ((i20355[10] + -1 →* i20355[8])∧(i20225[10] + 1 →* i20225[8])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[8], a47355data[8]))))
(10) -> (11), if ((i20355[10] + -1 →* i20355[11])∧(i20225[10] + 1 →* i20225[11])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[11], a47355data[11]))))
(11) -> (12), if ((i20355[11] →* i20355[12])∧(java.lang.Object(ARRAY(i2[11], a47355data[11])) →* java.lang.Object(ARRAY(i2[12], a47355data[12])))∧(java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])) →* java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))∧(i20225[11] →* i20225[12]))
(12) -> (13), if ((i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0 →* TRUE)∧(i20225[12] →* i20225[13])∧(java.lang.Object(ARRAY(i2[12], a47355data[12])) →* java.lang.Object(ARRAY(i2[13], a47355data[13])))∧(java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])) →* java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13])))∧(i20355[12] →* i20355[13]))
(13) -> (3), if ((i20355[13] →* i20355[3])∧(i20225[13] + 1 →* i20581[3])∧(java.lang.Object(ARRAY(i2[13], a47355data[13])) →* java.lang.Object(ARRAY(i2[3], a47355data[3]))))
The set Q consists of the following terms:
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(41) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(42) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD36231(
java.lang.Object(
ARRAY(
i2[0],
a47355data[0])),
i20225[0],
i20355[0]) →
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2[0],
a47355data[0])),
i20225[0],
i20355[0])
(1):
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2[1],
a47355data[1])),
i20225[1],
i20355[1]) →
COND_LOAD36231ARR1(
i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a47355data[1])),
i20225[1],
i20355[1])
(2):
COND_LOAD36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a47355data[2])),
i20225[2],
i20355[2]) →
INC40003(
java.lang.Object(
ARRAY(
i2[2],
a47355data[2])),
i20225[2] + 1,
i20355[2])
(3):
JMP40088'(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3]) →
INC40003(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3])
(4):
LOAD36231(
java.lang.Object(
ARRAY(
i2[4],
a47355data[4])),
i20225[4],
i20355[4]) →
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2[4],
a47355data[4])),
i20225[4],
i20355[4],
java.lang.Object(
java.lang.String(
i21156[4],
i20843[4],
i20845[4],
a49022[4])))
(5):
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2[5],
a47355data[5])),
i20225[5],
i20355[5],
java.lang.Object(
java.lang.String(
i21156[5],
i20843[5],
i20845[5],
a49022[5]))) →
COND_LOAD36231ARR2(
i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a47355data[5])),
i20225[5],
i20355[5],
java.lang.Object(
java.lang.String(
i21156[5],
i20843[5],
i20845[5],
a49022[5])))
(6):
COND_LOAD36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a47355data[6])),
i20225[6],
i20355[6],
java.lang.Object(
java.lang.String(
i21156[6],
i20843[6],
i20845[6],
a49022[6]))) →
INC40003(
java.lang.Object(
ARRAY(
i2[6],
a47355data[6])),
i20225[6] + 1,
i20355[6])
(7):
INC40003(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7] + -1)
(8):
LOAD36231(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8]) →
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8])
(9):
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2[9],
a47355data[9])),
i20225[9],
i20355[9]) →
COND_LOAD36231ARR3(
i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a47355data[9])),
i20225[9],
i20355[9])
(10):
COND_LOAD36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a47355data[10])),
i20225[10],
i20355[10]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[10],
a47355data[10])),
i20225[10] + 1,
i20355[10] + -1)
(11):
LOAD36231(
java.lang.Object(
ARRAY(
i2[11],
a47355data[11])),
i20225[11],
i20355[11]) →
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2[11],
a47355data[11])),
i20225[11],
i20355[11],
java.lang.Object(
java.lang.String(
i21156[11],
i20843[11],
i20845[11],
a49022[11])))
(12):
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2[12],
a47355data[12])),
i20225[12],
i20355[12],
java.lang.Object(
java.lang.String(
i21156[12],
i20843[12],
i20845[12],
a49022[12]))) →
COND_LOAD36231ARR5(
i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a47355data[12])),
i20225[12],
i20355[12],
java.lang.Object(
java.lang.String(
i21156[12],
i20843[12],
i20845[12],
a49022[12])))
(13):
COND_LOAD36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a47355data[13])),
i20225[13],
i20355[13],
java.lang.Object(
java.lang.String(
i21156[13],
i20843[13],
i20845[13],
a49022[13]))) →
JMP40088'(
java.lang.Object(
ARRAY(
i2[13],
a47355data[13])),
i20225[13] + 1,
i20355[13])
(0) -> (1), if ((i20225[0] →* i20225[1])∧(i20355[0] →* i20355[1])∧((i2[0] →* i2[1])∧(a47355data[0] →* a47355data[1])))
(1) -> (2), if ((i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0 →* TRUE)∧((i2[1] →* i2[2])∧(a47355data[1] →* a47355data[2]))∧(i20355[1] →* i20355[2])∧(i20225[1] →* i20225[2]))
(2) -> (7), if ((i20225[2] + 1 →* i20581[7])∧((i2[2] →* i2[7])∧(a47355data[2] →* a47355data[7]))∧(i20355[2] →* i20355[7]))
(3) -> (7), if (((i2[3] →* i2[7])∧(a47355data[3] →* a47355data[7]))∧(i20581[3] →* i20581[7])∧(i20355[3] →* i20355[7]))
(4) -> (5), if (((i21156[4] →* i21156[5])∧(i20843[4] →* i20843[5])∧(i20845[4] →* i20845[5])∧(a49022[4] →* a49022[5]))∧(i20355[4] →* i20355[5])∧(i20225[4] →* i20225[5])∧((i2[4] →* i2[5])∧(a47355data[4] →* a47355data[5])))
(5) -> (6), if ((i20355[5] →* i20355[6])∧(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0 →* TRUE)∧(i20225[5] →* i20225[6])∧((i21156[5] →* i21156[6])∧(i20843[5] →* i20843[6])∧(i20845[5] →* i20845[6])∧(a49022[5] →* a49022[6]))∧((i2[5] →* i2[6])∧(a47355data[5] →* a47355data[6])))
(6) -> (7), if ((i20355[6] →* i20355[7])∧((i2[6] →* i2[7])∧(a47355data[6] →* a47355data[7]))∧(i20225[6] + 1 →* i20581[7]))
(7) -> (0), if (((i2[7] →* i2[0])∧(a47355data[7] →* a47355data[0]))∧(i20581[7] →* i20225[0])∧(i20355[7] + -1 →* i20355[0]))
(7) -> (4), if ((i20355[7] + -1 →* i20355[4])∧((i2[7] →* i2[4])∧(a47355data[7] →* a47355data[4]))∧(i20581[7] →* i20225[4]))
(7) -> (8), if ((i20355[7] + -1 →* i20355[8])∧(i20581[7] →* i20225[8])∧((i2[7] →* i2[8])∧(a47355data[7] →* a47355data[8])))
(7) -> (11), if (((i2[7] →* i2[11])∧(a47355data[7] →* a47355data[11]))∧(i20581[7] →* i20225[11])∧(i20355[7] + -1 →* i20355[11]))
(8) -> (9), if ((i20225[8] →* i20225[9])∧((i2[8] →* i2[9])∧(a47355data[8] →* a47355data[9]))∧(i20355[8] →* i20355[9]))
(9) -> (10), if ((i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0 →* TRUE)∧(i20355[9] →* i20355[10])∧((i2[9] →* i2[10])∧(a47355data[9] →* a47355data[10]))∧(i20225[9] →* i20225[10]))
(10) -> (0), if (((i2[10] →* i2[0])∧(a47355data[10] →* a47355data[0]))∧(i20355[10] + -1 →* i20355[0])∧(i20225[10] + 1 →* i20225[0]))
(10) -> (4), if ((i20225[10] + 1 →* i20225[4])∧((i2[10] →* i2[4])∧(a47355data[10] →* a47355data[4]))∧(i20355[10] + -1 →* i20355[4]))
(10) -> (8), if ((i20355[10] + -1 →* i20355[8])∧(i20225[10] + 1 →* i20225[8])∧((i2[10] →* i2[8])∧(a47355data[10] →* a47355data[8])))
(10) -> (11), if ((i20355[10] + -1 →* i20355[11])∧(i20225[10] + 1 →* i20225[11])∧((i2[10] →* i2[11])∧(a47355data[10] →* a47355data[11])))
(11) -> (12), if ((i20355[11] →* i20355[12])∧((i2[11] →* i2[12])∧(a47355data[11] →* a47355data[12]))∧((i21156[11] →* i21156[12])∧(i20843[11] →* i20843[12])∧(i20845[11] →* i20845[12])∧(a49022[11] →* a49022[12]))∧(i20225[11] →* i20225[12]))
(12) -> (13), if ((i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0 →* TRUE)∧(i20225[12] →* i20225[13])∧((i2[12] →* i2[13])∧(a47355data[12] →* a47355data[13]))∧((i21156[12] →* i21156[13])∧(i20843[12] →* i20843[13])∧(i20845[12] →* i20845[13])∧(a49022[12] →* a49022[13]))∧(i20355[12] →* i20355[13]))
(13) -> (3), if ((i20355[13] →* i20355[3])∧(i20225[13] + 1 →* i20581[3])∧((i2[13] →* i2[3])∧(a47355data[13] →* a47355data[3])))
The set Q consists of the following terms:
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(43) IDPNonInfProof (SOUND transformation)
The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that
final constraints are written in
bold face.
For Pair
LOAD36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) the following chains were created:
- We consider the chain LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]) → LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]), LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) which results in the following constraint:
(1) (i20225[0]=i20225[1]∧i20355[0]=i20355[1]∧i2[0]=i2[1]∧a47355data[0]=a47355data[1] ⇒ LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])≥LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])∧(UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])≥LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])∧(UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
For Pair
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
COND_LOAD36231ARR1(
&&(
&&(
&&(
>(
i20225,
0),
<(
i20225,
i2)),
>(
i20355,
0)),
>(
+(
i20225,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) the following chains were created:
- We consider the chain LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]), COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2]) which results in the following constraint:
(7) (&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0))=TRUE∧i2[1]=i2[2]∧a47355data[1]=a47355data[2]∧i20355[1]=i20355[2]∧i20225[1]=i20225[2] ⇒ LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])≥NonInfC∧LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])≥COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])∧(UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(i20225[1], 1), 0)=TRUE∧>(i20355[1], 0)=TRUE∧>(i20225[1], 0)=TRUE∧<(i20225[1], i2[1])=TRUE ⇒ LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])≥NonInfC∧LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])≥COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])∧(UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] ≥ 0∧i2[1] + [-2] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[(-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i20225[1] ≥ 0∧i20355[1] ≥ 0∧i20225[1] ≥ 0∧i2[1] + [-2] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[(2)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i20225[1] ≥ 0∧i20355[1] ≥ 0∧i20225[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
For Pair
COND_LOAD36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
INC40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
+(
i20225,
1),
i20355) the following chains were created:
- We consider the chain COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2]) which results in the following constraint:
(16) (COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2])≥NonInfC∧COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2])≥INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])∧(UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
For Pair
JMP40088'(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
INC40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) the following chains were created:
- We consider the chain JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]), INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1)) which results in the following constraint:
(21) (i2[3]=i2[7]∧a47355data[3]=a47355data[7]∧i20581[3]=i20581[7]∧i20355[3]=i20355[7] ⇒ JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])≥NonInfC∧JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])≥INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])∧(UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥))
We simplified constraint (21) using rule (IV) which results in the following new constraint:
(22) (JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])≥NonInfC∧JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])≥INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])∧(UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
For Pair
LOAD36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) the following chains were created:
- We consider the chain LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4]) → LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4]))) which results in the following constraint:
(27) (LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4])≥LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))∧(UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)
For Pair
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
COND_LOAD36231ARR2(
&&(
&&(
&&(
&&(
>(
i21156,
0),
>(
i20225,
0)),
<(
i20225,
i2)),
>(
i20355,
0)),
>(
+(
i20225,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) the following chains were created:
- We consider the chain LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))), COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6]) which results in the following constraint:
(32) (i20355[5]=i20355[6]∧&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0))=TRUE∧i20225[5]=i20225[6]∧i21156[5]=i21156[6]∧i20843[5]=i20843[6]∧i20845[5]=i20845[6]∧a49022[5]=a49022[6]∧i2[5]=i2[6]∧a47355data[5]=a47355data[6] ⇒ LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))≥NonInfC∧LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))≥COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))∧(UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥))
We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(33) (>(+(i20225[5], 1), 0)=TRUE∧>(i20355[5], 0)=TRUE∧<(i20225[5], i2[5])=TRUE∧>(i21156[5], 0)=TRUE∧>(i20225[5], 0)=TRUE ⇒ LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))≥NonInfC∧LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))≥COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))∧(UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) (i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) (i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) (i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(37) (i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i20225[5] ≥ 0∧i20355[5] ≥ 0∧i2[5] + [-2] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i20225[5] ≥ 0∧i20355[5] ≥ 0∧i2[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(41) ([1] + i20225[5] ≥ 0∧i20355[5] ≥ 0∧i2[5] ≥ 0∧i21156[5] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
For Pair
COND_LOAD36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
INC40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
+(
i20225,
1),
i20355) the following chains were created:
- We consider the chain COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6]) which results in the following constraint:
(42) (COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6])))≥NonInfC∧COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6])))≥INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])∧(UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥))
We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(43) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(44) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(45) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(46) ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)
For Pair
INC40003(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
i20355) →
LOAD36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20581,
+(
i20355,
-1)) the following chains were created:
- We consider the chain INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1)) which results in the following constraint:
(47) (INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7])≥NonInfC∧INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7])≥LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))∧(UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥))
We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(48) ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(49) ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(50) ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(51) ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
For Pair
LOAD36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) the following chains were created:
- We consider the chain LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]), LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) which results in the following constraint:
(52) (i20225[8]=i20225[9]∧i2[8]=i2[9]∧a47355data[8]=a47355data[9]∧i20355[8]=i20355[9] ⇒ LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])≥LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])∧(UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥))
We simplified constraint (52) using rule (IV) which results in the following new constraint:
(53) (LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])≥LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])∧(UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥))
We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(54) ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(55) ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(56) ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(57) ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
For Pair
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
COND_LOAD36231ARR3(
&&(
&&(
&&(
>(
i20225,
0),
<(
i20225,
i2)),
>(
i20355,
0)),
>(
+(
i20225,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) the following chains were created:
- We consider the chain LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]), COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1)) which results in the following constraint:
(58) (&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0))=TRUE∧i20355[9]=i20355[10]∧i2[9]=i2[10]∧a47355data[9]=a47355data[10]∧i20225[9]=i20225[10] ⇒ LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])≥NonInfC∧LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])≥COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])∧(UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥))
We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(59) (>(+(i20225[9], 1), 0)=TRUE∧>(i20355[9], 0)=TRUE∧>(i20225[9], 0)=TRUE∧<(i20225[9], i2[9])=TRUE ⇒ LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])≥NonInfC∧LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])≥COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])∧(UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥))
We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(60) (i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(61) (i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(62) (i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(63) (i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(64) ([1] + i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] ≥ 0∧i2[9] + [-2] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(65) ([1] + i20225[9] ≥ 0∧i20355[9] ≥ 0∧i20225[9] ≥ 0∧i2[9] + [-2] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[(3)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(66) ([1] + i20225[9] ≥ 0∧i20355[9] ≥ 0∧i20225[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
For Pair
COND_LOAD36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
LOAD36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
+(
i20225,
1),
+(
i20355,
-1)) the following chains were created:
- We consider the chain COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1)) which results in the following constraint:
(67) (COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10])≥NonInfC∧COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10])≥LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))∧(UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
For Pair
LOAD36231(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355) →
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) the following chains were created:
- We consider the chain LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11]) → LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11]))) which results in the following constraint:
(72) (LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11])≥LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))∧(UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
For Pair
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
COND_LOAD36231ARR5(
&&(
&&(
&&(
&&(
>(
i21156,
0),
>(
i20225,
0)),
<(
i20225,
i2)),
>(
i20355,
0)),
>(
+(
i20225,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) the following chains were created:
- We consider the chain LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))), COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13]) which results in the following constraint:
(77) (&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0))=TRUE∧i20225[12]=i20225[13]∧i2[12]=i2[13]∧a47355data[12]=a47355data[13]∧i21156[12]=i21156[13]∧i20843[12]=i20843[13]∧i20845[12]=i20845[13]∧a49022[12]=a49022[13]∧i20355[12]=i20355[13] ⇒ LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))≥NonInfC∧LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))≥COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))∧(UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i20225[12], 1), 0)=TRUE∧>(i20355[12], 0)=TRUE∧<(i20225[12], i2[12])=TRUE∧>(i21156[12], 0)=TRUE∧>(i20225[12], 0)=TRUE ⇒ LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))≥NonInfC∧LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))≥COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))∧(UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i20225[12] ≥ 0∧i20355[12] ≥ 0∧i2[12] + [-2] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i20225[12] ≥ 0∧i20355[12] ≥ 0∧i2[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i20355[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(86) ([1] + i20225[12] ≥ 0∧i20355[12] ≥ 0∧i2[12] ≥ 0∧i21156[12] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i20355[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
For Pair
COND_LOAD36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a47355data)),
i20225,
i20355,
java.lang.Object(
java.lang.String(
i21156,
i20843,
i20845,
a49022))) →
JMP40088'(
java.lang.Object(
ARRAY(
i2,
a47355data)),
+(
i20225,
1),
i20355) the following chains were created:
- We consider the chain COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13]) which results in the following constraint:
(87) (COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13])))≥NonInfC∧COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13])))≥JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])∧(UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
- ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
- LOAD36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225, 0), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
- ([1] + i20225[1] ≥ 0∧i20355[1] ≥ 0∧i20225[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
- COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355)
- ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
- JMP40088'(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355)
- ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
- LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
- ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)
- LOAD36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156, 0), >(i20225, 0)), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
- ([1] + i20225[5] ≥ 0∧i20355[5] ≥ 0∧i2[5] ≥ 0∧i21156[5] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
- COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355)
- ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)
- INC40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, +(i20355, -1))
- ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
- LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
- ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
- LOAD36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225, 0), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
- ([1] + i20225[9] ≥ 0∧i20355[9] ≥ 0∧i20225[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
- COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), +(i20355, -1))
- ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
- LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
- ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
- LOAD36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156, 0), >(i20225, 0)), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
- ([1] + i20225[12] ≥ 0∧i20355[12] ≥ 0∧i2[12] ≥ 0∧i21156[12] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i20355[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
- COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP40088'(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355)
- ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)
The constraints for P
> respective P
bound are constructed from P
≥ where we just replace every occurence of "t ≥ s" in P
≥ by "t > s" respective "t ≥
c". Here
c stands for the fresh constant used for P
bound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD36231(x1, x2, x3)) = [1] + [2]x3 + [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD36231ARR1(x1, x2, x3)) = [2]x3 + [-1]x1 + [-1]x2
POL(COND_LOAD36231ARR1(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x2 + [-1]x3
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(INC40003(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(JMP40088'(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(LOAD36231ARR2(x1, x2, x3, x4)) = [2]x3 + [-1]x1 + [-1]x2
POL(java.lang.String(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x1
POL(COND_LOAD36231ARR2(x1, x2, x3, x4, x5)) = [2]x4 + [-1]x2 + [-1]x3
POL(-1) = [-1]
POL(LOAD36231ARR3(x1, x2, x3)) = [1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD36231ARR3(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
POL(LOAD36231ARR5(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD36231ARR5(x1, x2, x3, x4, x5)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
The following pairs are in P
>:
LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]) → LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])
LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])
COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])
LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4]) → LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))
COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])
LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])
COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))
LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11]) → LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))
COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])
The following pairs are in P
bound:
LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])
LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))
LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])
LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))
The following pairs are in P
≥:
JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])
LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))
INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))
LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])
LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))
There are no usable rules.
(44) Complex Obligation (AND)
(45) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(3):
JMP40088'(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3]) →
INC40003(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3])
(5):
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2[5],
a47355data[5])),
i20225[5],
i20355[5],
java.lang.Object(
java.lang.String(
i21156[5],
i20843[5],
i20845[5],
a49022[5]))) →
COND_LOAD36231ARR2(
i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a47355data[5])),
i20225[5],
i20355[5],
java.lang.Object(
java.lang.String(
i21156[5],
i20843[5],
i20845[5],
a49022[5])))
(7):
INC40003(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7] + -1)
(8):
LOAD36231(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8]) →
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8])
(12):
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2[12],
a47355data[12])),
i20225[12],
i20355[12],
java.lang.Object(
java.lang.String(
i21156[12],
i20843[12],
i20845[12],
a49022[12]))) →
COND_LOAD36231ARR5(
i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a47355data[12])),
i20225[12],
i20355[12],
java.lang.Object(
java.lang.String(
i21156[12],
i20843[12],
i20845[12],
a49022[12])))
(3) -> (7), if (((i2[3] →* i2[7])∧(a47355data[3] →* a47355data[7]))∧(i20581[3] →* i20581[7])∧(i20355[3] →* i20355[7]))
(7) -> (8), if ((i20355[7] + -1 →* i20355[8])∧(i20581[7] →* i20225[8])∧((i2[7] →* i2[8])∧(a47355data[7] →* a47355data[8])))
The set Q consists of the following terms:
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(46) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 5 less nodes.
(47) TRUE
(48) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD36231(
java.lang.Object(
ARRAY(
i2[0],
a47355data[0])),
i20225[0],
i20355[0]) →
LOAD36231ARR1(
java.lang.Object(
ARRAY(
i2[0],
a47355data[0])),
i20225[0],
i20355[0])
(2):
COND_LOAD36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a47355data[2])),
i20225[2],
i20355[2]) →
INC40003(
java.lang.Object(
ARRAY(
i2[2],
a47355data[2])),
i20225[2] + 1,
i20355[2])
(3):
JMP40088'(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3]) →
INC40003(
java.lang.Object(
ARRAY(
i2[3],
a47355data[3])),
i20581[3],
i20355[3])
(4):
LOAD36231(
java.lang.Object(
ARRAY(
i2[4],
a47355data[4])),
i20225[4],
i20355[4]) →
LOAD36231ARR2(
java.lang.Object(
ARRAY(
i2[4],
a47355data[4])),
i20225[4],
i20355[4],
java.lang.Object(
java.lang.String(
i21156[4],
i20843[4],
i20845[4],
a49022[4])))
(6):
COND_LOAD36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a47355data[6])),
i20225[6],
i20355[6],
java.lang.Object(
java.lang.String(
i21156[6],
i20843[6],
i20845[6],
a49022[6]))) →
INC40003(
java.lang.Object(
ARRAY(
i2[6],
a47355data[6])),
i20225[6] + 1,
i20355[6])
(7):
INC40003(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[7],
a47355data[7])),
i20581[7],
i20355[7] + -1)
(8):
LOAD36231(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8]) →
LOAD36231ARR3(
java.lang.Object(
ARRAY(
i2[8],
a47355data[8])),
i20225[8],
i20355[8])
(10):
COND_LOAD36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a47355data[10])),
i20225[10],
i20355[10]) →
LOAD36231(
java.lang.Object(
ARRAY(
i2[10],
a47355data[10])),
i20225[10] + 1,
i20355[10] + -1)
(11):
LOAD36231(
java.lang.Object(
ARRAY(
i2[11],
a47355data[11])),
i20225[11],
i20355[11]) →
LOAD36231ARR5(
java.lang.Object(
ARRAY(
i2[11],
a47355data[11])),
i20225[11],
i20355[11],
java.lang.Object(
java.lang.String(
i21156[11],
i20843[11],
i20845[11],
a49022[11])))
(13):
COND_LOAD36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a47355data[13])),
i20225[13],
i20355[13],
java.lang.Object(
java.lang.String(
i21156[13],
i20843[13],
i20845[13],
a49022[13]))) →
JMP40088'(
java.lang.Object(
ARRAY(
i2[13],
a47355data[13])),
i20225[13] + 1,
i20355[13])
(7) -> (0), if (((i2[7] →* i2[0])∧(a47355data[7] →* a47355data[0]))∧(i20581[7] →* i20225[0])∧(i20355[7] + -1 →* i20355[0]))
(10) -> (0), if (((i2[10] →* i2[0])∧(a47355data[10] →* a47355data[0]))∧(i20355[10] + -1 →* i20355[0])∧(i20225[10] + 1 →* i20225[0]))
(13) -> (3), if ((i20355[13] →* i20355[3])∧(i20225[13] + 1 →* i20581[3])∧((i2[13] →* i2[3])∧(a47355data[13] →* a47355data[3])))
(7) -> (4), if ((i20355[7] + -1 →* i20355[4])∧((i2[7] →* i2[4])∧(a47355data[7] →* a47355data[4]))∧(i20581[7] →* i20225[4]))
(10) -> (4), if ((i20225[10] + 1 →* i20225[4])∧((i2[10] →* i2[4])∧(a47355data[10] →* a47355data[4]))∧(i20355[10] + -1 →* i20355[4]))
(2) -> (7), if ((i20225[2] + 1 →* i20581[7])∧((i2[2] →* i2[7])∧(a47355data[2] →* a47355data[7]))∧(i20355[2] →* i20355[7]))
(3) -> (7), if (((i2[3] →* i2[7])∧(a47355data[3] →* a47355data[7]))∧(i20581[3] →* i20581[7])∧(i20355[3] →* i20355[7]))
(6) -> (7), if ((i20355[6] →* i20355[7])∧((i2[6] →* i2[7])∧(a47355data[6] →* a47355data[7]))∧(i20225[6] + 1 →* i20581[7]))
(7) -> (8), if ((i20355[7] + -1 →* i20355[8])∧(i20581[7] →* i20225[8])∧((i2[7] →* i2[8])∧(a47355data[7] →* a47355data[8])))
(10) -> (8), if ((i20355[10] + -1 →* i20355[8])∧(i20225[10] + 1 →* i20225[8])∧((i2[10] →* i2[8])∧(a47355data[10] →* a47355data[8])))
(7) -> (11), if (((i2[7] →* i2[11])∧(a47355data[7] →* a47355data[11]))∧(i20581[7] →* i20225[11])∧(i20355[7] + -1 →* i20355[11]))
(10) -> (11), if ((i20355[10] + -1 →* i20355[11])∧(i20225[10] + 1 →* i20225[11])∧((i2[10] →* i2[11])∧(a47355data[10] →* a47355data[11])))
The set Q consists of the following terms:
Load36231(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP40088(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc40003(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36231ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36231ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36231ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(49) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(50) TRUE
(51) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC)))) →
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR9(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)))
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613))) →
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR10(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)))
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573))) →
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR11(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)))
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC)))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
JMP26504(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC)))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
NULL,
o25573))) →
Load18769ARR12(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
NULL,
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Load18769ARR12(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR12(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Cond_Load18769ARR12(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC)))) →
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR13(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)))
JMP26541(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC)))) →
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o25612,
o25613))) →
Load18769ARR14(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR14(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR14(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR14(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
NULL,
java.lang.Object(
EOC)))) →
Load18769ARR15(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Load18769ARR15(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR15(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Cond_Load18769ARR15(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
JMP26504(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
NULL,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20365,
java.lang.Object(
EOC)))) →
Load18769ARR16(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
NULL,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR16(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR16(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR16(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP26541(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc26621(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP26504(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load18769ARR12(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load18769ARR12(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP26541(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load18769ARR14(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load18769ARR14(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load18769ARR15(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load18769ARR15(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load18769ARR16(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load18769ARR16(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(52) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP26541(x1, x2, x3, x4, x5) → JMP26541(x1, x2, x3, x5)
Cond_Load18769ARR16(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR16(x1, x2, x3, x4, x6, x7)
Load18769ARR16(x1, x2, x3, x4, x5, x6) → Load18769ARR16(x1, x2, x3, x5, x6)
JMP26504(x1, x2, x3, x4, x5) → JMP26504(x1, x2, x3, x5)
Cond_Load18769ARR15(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR15(x1, x2, x3, x4, x6, x7)
Load18769ARR15(x1, x2, x3, x4, x5, x6) → Load18769ARR15(x1, x2, x3, x5, x6)
Inc26621(x1, x2, x3, x4, x5) → Inc26621(x1, x2, x3, x5)
Cond_Load18769ARR13(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR13(x1, x2, x3, x4, x6, x7)
Load18769ARR13(x1, x2, x3, x4, x5, x6) → Load18769ARR13(x1, x2, x3, x5, x6)
Cond_Load18769ARR9(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR9(x1, x2, x3, x4, x6, x7)
Load18769ARR9(x1, x2, x3, x4, x5, x6) → Load18769ARR9(x1, x2, x3, x5, x6)
(53) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC)))) →
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR9(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25822Field0,
o25822Field1,
o25822Field2)))
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613))) →
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR10(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26179Field0,
o26179Field1,
o26179Field2)))
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573))) →
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR11(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26084Field0,
o26084Field1,
o26084Field2)))
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC)))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
JMP26504(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC)))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
NULL,
o25573))) →
Load18769ARR12(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
NULL,
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Load18769ARR12(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR12(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Cond_Load18769ARR12(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25571,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25573)),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174 + -1,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC)))) →
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR13(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25926Field0,
o25926Field1,
o25926Field2)))
JMP26541(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC)))) →
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o25612,
o25613))) →
Load18769ARR14(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR14(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR14(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR14(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25612,
o25613)),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
o20364,
o20365,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20364,
NULL,
java.lang.Object(
EOC)))) →
Load18769ARR15(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Load18769ARR15(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR15(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251)))
Cond_Load18769ARR15(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7089,
i7091,
a23251))) →
JMP26504(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
o20364,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
NULL,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20365,
java.lang.Object(
EOC)))) →
Load18769ARR16(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
NULL,
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR16(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR16(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR16(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP26541(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20365,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc26621(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP26504(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load18769ARR12(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load18769ARR12(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP26541(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load18769ARR14(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load18769ARR14(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load18769ARR15(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load18769ARR15(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load18769ARR16(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load18769ARR16(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(54) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load18769(x1, x2, x3, x4, x5) → Load18769(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load18769ARR9(x1, x2, x3, x4, x5) → Load18769ARR9(x1, x2, x3)
Cond_Load18769ARR9(x1, x2, x3, x4, x5, x6) → Cond_Load18769ARR9(x1, x2, x3, x4)
Inc24121(x1, x2, x3, x4, x5) → Inc24121(x1, x2, x3)
JMP24198(x1, x2, x3, x4, x5) → JMP24198(x1, x2, x3)
Load18769ARR10(x1, x2, x3, x4, x5, x6) → Load18769ARR10(x1, x2, x3, x6)
Cond_Load18769ARR10(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR10(x1, x2, x3, x4, x7)
Load18769ARR11(x1, x2, x3, x4, x5, x6) → Load18769ARR11(x1, x2, x3)
Cond_Load18769ARR11(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR11(x1, x2, x3, x4)
Inc26621(x1, x2, x3, x4) → Inc26621(x1, x2, x3)
JMP26504(x1, x2, x3, x4) → JMP26504(x1, x2, x3)
Load18769ARR12(x1, x2, x3, x4, x5, x6) → Load18769ARR12(x1, x2, x3)
Cond_Load18769ARR12(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR12(x1, x2, x3, x4)
Load18769ARR13(x1, x2, x3, x4, x5) → Load18769ARR13(x1, x2, x3, x5)
Cond_Load18769ARR13(x1, x2, x3, x4, x5, x6) → Cond_Load18769ARR13(x1, x2, x3, x4, x6)
JMP26541(x1, x2, x3, x4) → JMP26541(x1, x2, x3)
Load18769ARR14(x1, x2, x3, x4, x5, x6) → Load18769ARR14(x1, x2, x3, x6)
Cond_Load18769ARR14(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR14(x1, x2, x3, x4, x7)
Load18769ARR15(x1, x2, x3, x4, x5) → Load18769ARR15(x1, x2, x3)
Cond_Load18769ARR15(x1, x2, x3, x4, x5, x6) → Cond_Load18769ARR15(x1, x2, x3, x4)
Load18769ARR16(x1, x2, x3, x4, x5) → Load18769ARR16(x1, x2, x3, x5)
Cond_Load18769ARR16(x1, x2, x3, x4, x5, x6) → Cond_Load18769ARR16(x1, x2, x3, x4, x6)
(55) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Cond_Load18769ARR9(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR10(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Cond_Load18769ARR11(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174 + -1)
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1)
JMP26504(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR12(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Load18769ARR12(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Cond_Load18769ARR12(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Cond_Load18769ARR12(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174 + -1)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR13(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
JMP26541(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR14(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR14(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR14(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR14(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Inc26621(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR15(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Load18769ARR15(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Cond_Load18769ARR15(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Cond_Load18769ARR15(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
JMP26504(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR16(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR16(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR16(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR16(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP26541(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
The set Q consists of the following terms:
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc26621(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP26504(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR12(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR12(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
JMP26541(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR14(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR14(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load18769ARR15(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR15(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR16(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR16(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(56) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Load18769ARR9, Load18769ARR15 | > | Load18769ARR9_3 |
Load18769ARR11, Load18769ARR12 | > | Load18769ARR11_3 |
Cond_Load18769ARR9, Cond_Load18769ARR15 | > | Cond_Load18769ARR9_4 |
JMP24198, JMP26541 | > | JMP24198_3 |
Load18769ARR10, Load18769ARR14 | > | Load18769ARR10_4 |
Load18769ARR13, Load18769ARR16 | > | Load18769ARR13_4 |
Cond_Load18769ARR13, Cond_Load18769ARR16 | > | Cond_Load18769ARR13_5 |
Cond_Load18769ARR10, Cond_Load18769ARR14 | > | Cond_Load18769ARR10_5 |
Inc24121, Inc26621, JMP26504 | > | Inc24121_3 |
Cond_Load18769ARR11, Cond_Load18769ARR12 | > | Cond_Load18769ARR11_4 |
(57) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Cond_Load18769ARR9(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR10(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Cond_Load18769ARR11(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174 + -1)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR13(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
The set Q consists of the following terms:
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(58) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(59) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
The ITRS R consists of the following rules:
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Load18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Cond_Load18769ARR9(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR10(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
Inc24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174 + -1)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Load18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Cond_Load18769ARR11(
i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174 + -1)
Load18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Load18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
Cond_Load18769ARR13(
i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP24198(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103 + 1,
i6174)
The integer pair graph contains the following rules and edges:
(0):
LOAD18769(
java.lang.Object(
ARRAY(
i2[0],
a20441data[0])),
i6103[0],
i6174[0]) →
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2[0],
a20441data[0])),
i6103[0],
i6174[0])
(1):
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2[1],
a20441data[1])),
i6103[1],
i6174[1]) →
COND_LOAD18769ARR9(
i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a20441data[1])),
i6103[1],
i6174[1])
(2):
COND_LOAD18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20441data[2])),
i6103[2],
i6174[2]) →
INC24121(
java.lang.Object(
ARRAY(
i2[2],
a20441data[2])),
i6103[2] + 1,
i6174[2])
(3):
JMP24198'(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3]) →
INC24121(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3])
(4):
LOAD18769(
java.lang.Object(
ARRAY(
i2[4],
a20441data[4])),
i6103[4],
i6174[4]) →
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20441data[4])),
i6103[4],
i6174[4],
java.lang.Object(
java.lang.String(
i7456[4],
i7089[4],
i7091[4],
a23251[4])))
(5):
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2[5],
a20441data[5])),
i6103[5],
i6174[5],
java.lang.Object(
java.lang.String(
i7456[5],
i7089[5],
i7091[5],
a23251[5]))) →
COND_LOAD18769ARR10(
i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a20441data[5])),
i6103[5],
i6174[5],
java.lang.Object(
java.lang.String(
i7456[5],
i7089[5],
i7091[5],
a23251[5])))
(6):
COND_LOAD18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a20441data[6])),
i6103[6],
i6174[6],
java.lang.Object(
java.lang.String(
i7456[6],
i7089[6],
i7091[6],
a23251[6]))) →
INC24121(
java.lang.Object(
ARRAY(
i2[6],
a20441data[6])),
i6103[6] + 1,
i6174[6])
(7):
INC24121(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7] + -1)
(8):
LOAD18769(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8]) →
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8])
(9):
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2[9],
a20441data[9])),
i6103[9],
i6174[9]) →
COND_LOAD18769ARR11(
i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a20441data[9])),
i6103[9],
i6174[9])
(10):
COND_LOAD18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20441data[10])),
i6103[10],
i6174[10]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[10],
a20441data[10])),
i6103[10] + 1,
i6174[10] + -1)
(11):
LOAD18769(
java.lang.Object(
ARRAY(
i2[11],
a20441data[11])),
i6103[11],
i6174[11]) →
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20441data[11])),
i6103[11],
i6174[11],
java.lang.Object(
java.lang.String(
i7456[11],
i7089[11],
i7091[11],
a23251[11])))
(12):
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2[12],
a20441data[12])),
i6103[12],
i6174[12],
java.lang.Object(
java.lang.String(
i7456[12],
i7089[12],
i7091[12],
a23251[12]))) →
COND_LOAD18769ARR13(
i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a20441data[12])),
i6103[12],
i6174[12],
java.lang.Object(
java.lang.String(
i7456[12],
i7089[12],
i7091[12],
a23251[12])))
(13):
COND_LOAD18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a20441data[13])),
i6103[13],
i6174[13],
java.lang.Object(
java.lang.String(
i7456[13],
i7089[13],
i7091[13],
a23251[13]))) →
JMP24198'(
java.lang.Object(
ARRAY(
i2[13],
a20441data[13])),
i6103[13] + 1,
i6174[13])
(0) -> (1), if ((i6103[0] →* i6103[1])∧(i6174[0] →* i6174[1])∧(java.lang.Object(ARRAY(i2[0], a20441data[0])) →* java.lang.Object(ARRAY(i2[1], a20441data[1]))))
(1) -> (2), if ((i6103[1] →* i6103[2])∧(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0 →* TRUE)∧(i6174[1] →* i6174[2])∧(java.lang.Object(ARRAY(i2[1], a20441data[1])) →* java.lang.Object(ARRAY(i2[2], a20441data[2]))))
(2) -> (7), if ((i6174[2] →* i6174[7])∧(i6103[2] + 1 →* i6668[7])∧(java.lang.Object(ARRAY(i2[2], a20441data[2])) →* java.lang.Object(ARRAY(i2[7], a20441data[7]))))
(3) -> (7), if ((i6174[3] →* i6174[7])∧(java.lang.Object(ARRAY(i2[3], a20441data[3])) →* java.lang.Object(ARRAY(i2[7], a20441data[7])))∧(i6668[3] →* i6668[7]))
(4) -> (5), if ((java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])) →* java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))∧(i6174[4] →* i6174[5])∧(i6103[4] →* i6103[5])∧(java.lang.Object(ARRAY(i2[4], a20441data[4])) →* java.lang.Object(ARRAY(i2[5], a20441data[5]))))
(5) -> (6), if ((i6174[5] →* i6174[6])∧(java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])) →* java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6])))∧(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0 →* TRUE)∧(i6103[5] →* i6103[6])∧(java.lang.Object(ARRAY(i2[5], a20441data[5])) →* java.lang.Object(ARRAY(i2[6], a20441data[6]))))
(6) -> (7), if ((java.lang.Object(ARRAY(i2[6], a20441data[6])) →* java.lang.Object(ARRAY(i2[7], a20441data[7])))∧(i6174[6] →* i6174[7])∧(i6103[6] + 1 →* i6668[7]))
(7) -> (0), if ((i6668[7] →* i6103[0])∧(i6174[7] + -1 →* i6174[0])∧(java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[0], a20441data[0]))))
(7) -> (4), if ((java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[4], a20441data[4])))∧(i6668[7] →* i6103[4])∧(i6174[7] + -1 →* i6174[4]))
(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[8], a20441data[8])))∧(i6174[7] + -1 →* i6174[8])∧(i6668[7] →* i6103[8]))
(7) -> (11), if ((i6174[7] + -1 →* i6174[11])∧(i6668[7] →* i6103[11])∧(java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[11], a20441data[11]))))
(8) -> (9), if ((java.lang.Object(ARRAY(i2[8], a20441data[8])) →* java.lang.Object(ARRAY(i2[9], a20441data[9])))∧(i6103[8] →* i6103[9])∧(i6174[8] →* i6174[9]))
(9) -> (10), if ((i6174[9] →* i6174[10])∧(java.lang.Object(ARRAY(i2[9], a20441data[9])) →* java.lang.Object(ARRAY(i2[10], a20441data[10])))∧(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0 →* TRUE)∧(i6103[9] →* i6103[10]))
(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[0], a20441data[0])))∧(i6174[10] + -1 →* i6174[0])∧(i6103[10] + 1 →* i6103[0]))
(10) -> (4), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[4], a20441data[4])))∧(i6174[10] + -1 →* i6174[4])∧(i6103[10] + 1 →* i6103[4]))
(10) -> (8), if ((i6103[10] + 1 →* i6103[8])∧(i6174[10] + -1 →* i6174[8])∧(java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[8], a20441data[8]))))
(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[11], a20441data[11])))∧(i6174[10] + -1 →* i6174[11])∧(i6103[10] + 1 →* i6103[11]))
(11) -> (12), if ((i6174[11] →* i6174[12])∧(i6103[11] →* i6103[12])∧(java.lang.Object(ARRAY(i2[11], a20441data[11])) →* java.lang.Object(ARRAY(i2[12], a20441data[12])))∧(java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])) →* java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))))
(12) -> (13), if ((i6174[12] →* i6174[13])∧(java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])) →* java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13])))∧(java.lang.Object(ARRAY(i2[12], a20441data[12])) →* java.lang.Object(ARRAY(i2[13], a20441data[13])))∧(i6103[12] →* i6103[13])∧(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i6174[13] →* i6174[3])∧(i6103[13] + 1 →* i6668[3])∧(java.lang.Object(ARRAY(i2[13], a20441data[13])) →* java.lang.Object(ARRAY(i2[3], a20441data[3]))))
The set Q consists of the following terms:
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(60) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(61) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD18769(
java.lang.Object(
ARRAY(
i2[0],
a20441data[0])),
i6103[0],
i6174[0]) →
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2[0],
a20441data[0])),
i6103[0],
i6174[0])
(1):
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2[1],
a20441data[1])),
i6103[1],
i6174[1]) →
COND_LOAD18769ARR9(
i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a20441data[1])),
i6103[1],
i6174[1])
(2):
COND_LOAD18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20441data[2])),
i6103[2],
i6174[2]) →
INC24121(
java.lang.Object(
ARRAY(
i2[2],
a20441data[2])),
i6103[2] + 1,
i6174[2])
(3):
JMP24198'(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3]) →
INC24121(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3])
(4):
LOAD18769(
java.lang.Object(
ARRAY(
i2[4],
a20441data[4])),
i6103[4],
i6174[4]) →
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20441data[4])),
i6103[4],
i6174[4],
java.lang.Object(
java.lang.String(
i7456[4],
i7089[4],
i7091[4],
a23251[4])))
(5):
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2[5],
a20441data[5])),
i6103[5],
i6174[5],
java.lang.Object(
java.lang.String(
i7456[5],
i7089[5],
i7091[5],
a23251[5]))) →
COND_LOAD18769ARR10(
i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a20441data[5])),
i6103[5],
i6174[5],
java.lang.Object(
java.lang.String(
i7456[5],
i7089[5],
i7091[5],
a23251[5])))
(6):
COND_LOAD18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a20441data[6])),
i6103[6],
i6174[6],
java.lang.Object(
java.lang.String(
i7456[6],
i7089[6],
i7091[6],
a23251[6]))) →
INC24121(
java.lang.Object(
ARRAY(
i2[6],
a20441data[6])),
i6103[6] + 1,
i6174[6])
(7):
INC24121(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7] + -1)
(8):
LOAD18769(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8]) →
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8])
(9):
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2[9],
a20441data[9])),
i6103[9],
i6174[9]) →
COND_LOAD18769ARR11(
i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a20441data[9])),
i6103[9],
i6174[9])
(10):
COND_LOAD18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20441data[10])),
i6103[10],
i6174[10]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[10],
a20441data[10])),
i6103[10] + 1,
i6174[10] + -1)
(11):
LOAD18769(
java.lang.Object(
ARRAY(
i2[11],
a20441data[11])),
i6103[11],
i6174[11]) →
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20441data[11])),
i6103[11],
i6174[11],
java.lang.Object(
java.lang.String(
i7456[11],
i7089[11],
i7091[11],
a23251[11])))
(12):
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2[12],
a20441data[12])),
i6103[12],
i6174[12],
java.lang.Object(
java.lang.String(
i7456[12],
i7089[12],
i7091[12],
a23251[12]))) →
COND_LOAD18769ARR13(
i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a20441data[12])),
i6103[12],
i6174[12],
java.lang.Object(
java.lang.String(
i7456[12],
i7089[12],
i7091[12],
a23251[12])))
(13):
COND_LOAD18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a20441data[13])),
i6103[13],
i6174[13],
java.lang.Object(
java.lang.String(
i7456[13],
i7089[13],
i7091[13],
a23251[13]))) →
JMP24198'(
java.lang.Object(
ARRAY(
i2[13],
a20441data[13])),
i6103[13] + 1,
i6174[13])
(0) -> (1), if ((i6103[0] →* i6103[1])∧(i6174[0] →* i6174[1])∧(java.lang.Object(ARRAY(i2[0], a20441data[0])) →* java.lang.Object(ARRAY(i2[1], a20441data[1]))))
(1) -> (2), if ((i6103[1] →* i6103[2])∧(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0 →* TRUE)∧(i6174[1] →* i6174[2])∧(java.lang.Object(ARRAY(i2[1], a20441data[1])) →* java.lang.Object(ARRAY(i2[2], a20441data[2]))))
(2) -> (7), if ((i6174[2] →* i6174[7])∧(i6103[2] + 1 →* i6668[7])∧(java.lang.Object(ARRAY(i2[2], a20441data[2])) →* java.lang.Object(ARRAY(i2[7], a20441data[7]))))
(3) -> (7), if ((i6174[3] →* i6174[7])∧(java.lang.Object(ARRAY(i2[3], a20441data[3])) →* java.lang.Object(ARRAY(i2[7], a20441data[7])))∧(i6668[3] →* i6668[7]))
(4) -> (5), if ((java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])) →* java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))∧(i6174[4] →* i6174[5])∧(i6103[4] →* i6103[5])∧(java.lang.Object(ARRAY(i2[4], a20441data[4])) →* java.lang.Object(ARRAY(i2[5], a20441data[5]))))
(5) -> (6), if ((i6174[5] →* i6174[6])∧(java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])) →* java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6])))∧(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0 →* TRUE)∧(i6103[5] →* i6103[6])∧(java.lang.Object(ARRAY(i2[5], a20441data[5])) →* java.lang.Object(ARRAY(i2[6], a20441data[6]))))
(6) -> (7), if ((java.lang.Object(ARRAY(i2[6], a20441data[6])) →* java.lang.Object(ARRAY(i2[7], a20441data[7])))∧(i6174[6] →* i6174[7])∧(i6103[6] + 1 →* i6668[7]))
(7) -> (0), if ((i6668[7] →* i6103[0])∧(i6174[7] + -1 →* i6174[0])∧(java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[0], a20441data[0]))))
(7) -> (4), if ((java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[4], a20441data[4])))∧(i6668[7] →* i6103[4])∧(i6174[7] + -1 →* i6174[4]))
(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[8], a20441data[8])))∧(i6174[7] + -1 →* i6174[8])∧(i6668[7] →* i6103[8]))
(7) -> (11), if ((i6174[7] + -1 →* i6174[11])∧(i6668[7] →* i6103[11])∧(java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[11], a20441data[11]))))
(8) -> (9), if ((java.lang.Object(ARRAY(i2[8], a20441data[8])) →* java.lang.Object(ARRAY(i2[9], a20441data[9])))∧(i6103[8] →* i6103[9])∧(i6174[8] →* i6174[9]))
(9) -> (10), if ((i6174[9] →* i6174[10])∧(java.lang.Object(ARRAY(i2[9], a20441data[9])) →* java.lang.Object(ARRAY(i2[10], a20441data[10])))∧(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0 →* TRUE)∧(i6103[9] →* i6103[10]))
(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[0], a20441data[0])))∧(i6174[10] + -1 →* i6174[0])∧(i6103[10] + 1 →* i6103[0]))
(10) -> (4), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[4], a20441data[4])))∧(i6174[10] + -1 →* i6174[4])∧(i6103[10] + 1 →* i6103[4]))
(10) -> (8), if ((i6103[10] + 1 →* i6103[8])∧(i6174[10] + -1 →* i6174[8])∧(java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[8], a20441data[8]))))
(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[11], a20441data[11])))∧(i6174[10] + -1 →* i6174[11])∧(i6103[10] + 1 →* i6103[11]))
(11) -> (12), if ((i6174[11] →* i6174[12])∧(i6103[11] →* i6103[12])∧(java.lang.Object(ARRAY(i2[11], a20441data[11])) →* java.lang.Object(ARRAY(i2[12], a20441data[12])))∧(java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])) →* java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))))
(12) -> (13), if ((i6174[12] →* i6174[13])∧(java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])) →* java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13])))∧(java.lang.Object(ARRAY(i2[12], a20441data[12])) →* java.lang.Object(ARRAY(i2[13], a20441data[13])))∧(i6103[12] →* i6103[13])∧(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i6174[13] →* i6174[3])∧(i6103[13] + 1 →* i6668[3])∧(java.lang.Object(ARRAY(i2[13], a20441data[13])) →* java.lang.Object(ARRAY(i2[3], a20441data[3]))))
The set Q consists of the following terms:
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(62) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(63) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD18769(
java.lang.Object(
ARRAY(
i2[0],
a20441data[0])),
i6103[0],
i6174[0]) →
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2[0],
a20441data[0])),
i6103[0],
i6174[0])
(1):
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2[1],
a20441data[1])),
i6103[1],
i6174[1]) →
COND_LOAD18769ARR9(
i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a20441data[1])),
i6103[1],
i6174[1])
(2):
COND_LOAD18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20441data[2])),
i6103[2],
i6174[2]) →
INC24121(
java.lang.Object(
ARRAY(
i2[2],
a20441data[2])),
i6103[2] + 1,
i6174[2])
(3):
JMP24198'(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3]) →
INC24121(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3])
(4):
LOAD18769(
java.lang.Object(
ARRAY(
i2[4],
a20441data[4])),
i6103[4],
i6174[4]) →
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20441data[4])),
i6103[4],
i6174[4],
java.lang.Object(
java.lang.String(
i7456[4],
i7089[4],
i7091[4],
a23251[4])))
(5):
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2[5],
a20441data[5])),
i6103[5],
i6174[5],
java.lang.Object(
java.lang.String(
i7456[5],
i7089[5],
i7091[5],
a23251[5]))) →
COND_LOAD18769ARR10(
i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a20441data[5])),
i6103[5],
i6174[5],
java.lang.Object(
java.lang.String(
i7456[5],
i7089[5],
i7091[5],
a23251[5])))
(6):
COND_LOAD18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a20441data[6])),
i6103[6],
i6174[6],
java.lang.Object(
java.lang.String(
i7456[6],
i7089[6],
i7091[6],
a23251[6]))) →
INC24121(
java.lang.Object(
ARRAY(
i2[6],
a20441data[6])),
i6103[6] + 1,
i6174[6])
(7):
INC24121(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7] + -1)
(8):
LOAD18769(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8]) →
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8])
(9):
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2[9],
a20441data[9])),
i6103[9],
i6174[9]) →
COND_LOAD18769ARR11(
i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a20441data[9])),
i6103[9],
i6174[9])
(10):
COND_LOAD18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20441data[10])),
i6103[10],
i6174[10]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[10],
a20441data[10])),
i6103[10] + 1,
i6174[10] + -1)
(11):
LOAD18769(
java.lang.Object(
ARRAY(
i2[11],
a20441data[11])),
i6103[11],
i6174[11]) →
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20441data[11])),
i6103[11],
i6174[11],
java.lang.Object(
java.lang.String(
i7456[11],
i7089[11],
i7091[11],
a23251[11])))
(12):
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2[12],
a20441data[12])),
i6103[12],
i6174[12],
java.lang.Object(
java.lang.String(
i7456[12],
i7089[12],
i7091[12],
a23251[12]))) →
COND_LOAD18769ARR13(
i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a20441data[12])),
i6103[12],
i6174[12],
java.lang.Object(
java.lang.String(
i7456[12],
i7089[12],
i7091[12],
a23251[12])))
(13):
COND_LOAD18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a20441data[13])),
i6103[13],
i6174[13],
java.lang.Object(
java.lang.String(
i7456[13],
i7089[13],
i7091[13],
a23251[13]))) →
JMP24198'(
java.lang.Object(
ARRAY(
i2[13],
a20441data[13])),
i6103[13] + 1,
i6174[13])
(0) -> (1), if ((i6103[0] →* i6103[1])∧(i6174[0] →* i6174[1])∧((i2[0] →* i2[1])∧(a20441data[0] →* a20441data[1])))
(1) -> (2), if ((i6103[1] →* i6103[2])∧(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0 →* TRUE)∧(i6174[1] →* i6174[2])∧((i2[1] →* i2[2])∧(a20441data[1] →* a20441data[2])))
(2) -> (7), if ((i6174[2] →* i6174[7])∧(i6103[2] + 1 →* i6668[7])∧((i2[2] →* i2[7])∧(a20441data[2] →* a20441data[7])))
(3) -> (7), if ((i6174[3] →* i6174[7])∧((i2[3] →* i2[7])∧(a20441data[3] →* a20441data[7]))∧(i6668[3] →* i6668[7]))
(4) -> (5), if (((i7456[4] →* i7456[5])∧(i7089[4] →* i7089[5])∧(i7091[4] →* i7091[5])∧(a23251[4] →* a23251[5]))∧(i6174[4] →* i6174[5])∧(i6103[4] →* i6103[5])∧((i2[4] →* i2[5])∧(a20441data[4] →* a20441data[5])))
(5) -> (6), if ((i6174[5] →* i6174[6])∧((i7456[5] →* i7456[6])∧(i7089[5] →* i7089[6])∧(i7091[5] →* i7091[6])∧(a23251[5] →* a23251[6]))∧(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0 →* TRUE)∧(i6103[5] →* i6103[6])∧((i2[5] →* i2[6])∧(a20441data[5] →* a20441data[6])))
(6) -> (7), if (((i2[6] →* i2[7])∧(a20441data[6] →* a20441data[7]))∧(i6174[6] →* i6174[7])∧(i6103[6] + 1 →* i6668[7]))
(7) -> (0), if ((i6668[7] →* i6103[0])∧(i6174[7] + -1 →* i6174[0])∧((i2[7] →* i2[0])∧(a20441data[7] →* a20441data[0])))
(7) -> (4), if (((i2[7] →* i2[4])∧(a20441data[7] →* a20441data[4]))∧(i6668[7] →* i6103[4])∧(i6174[7] + -1 →* i6174[4]))
(7) -> (8), if (((i2[7] →* i2[8])∧(a20441data[7] →* a20441data[8]))∧(i6174[7] + -1 →* i6174[8])∧(i6668[7] →* i6103[8]))
(7) -> (11), if ((i6174[7] + -1 →* i6174[11])∧(i6668[7] →* i6103[11])∧((i2[7] →* i2[11])∧(a20441data[7] →* a20441data[11])))
(8) -> (9), if (((i2[8] →* i2[9])∧(a20441data[8] →* a20441data[9]))∧(i6103[8] →* i6103[9])∧(i6174[8] →* i6174[9]))
(9) -> (10), if ((i6174[9] →* i6174[10])∧((i2[9] →* i2[10])∧(a20441data[9] →* a20441data[10]))∧(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0 →* TRUE)∧(i6103[9] →* i6103[10]))
(10) -> (0), if (((i2[10] →* i2[0])∧(a20441data[10] →* a20441data[0]))∧(i6174[10] + -1 →* i6174[0])∧(i6103[10] + 1 →* i6103[0]))
(10) -> (4), if (((i2[10] →* i2[4])∧(a20441data[10] →* a20441data[4]))∧(i6174[10] + -1 →* i6174[4])∧(i6103[10] + 1 →* i6103[4]))
(10) -> (8), if ((i6103[10] + 1 →* i6103[8])∧(i6174[10] + -1 →* i6174[8])∧((i2[10] →* i2[8])∧(a20441data[10] →* a20441data[8])))
(10) -> (11), if (((i2[10] →* i2[11])∧(a20441data[10] →* a20441data[11]))∧(i6174[10] + -1 →* i6174[11])∧(i6103[10] + 1 →* i6103[11]))
(11) -> (12), if ((i6174[11] →* i6174[12])∧(i6103[11] →* i6103[12])∧((i2[11] →* i2[12])∧(a20441data[11] →* a20441data[12]))∧((i7456[11] →* i7456[12])∧(i7089[11] →* i7089[12])∧(i7091[11] →* i7091[12])∧(a23251[11] →* a23251[12])))
(12) -> (13), if ((i6174[12] →* i6174[13])∧((i7456[12] →* i7456[13])∧(i7089[12] →* i7089[13])∧(i7091[12] →* i7091[13])∧(a23251[12] →* a23251[13]))∧((i2[12] →* i2[13])∧(a20441data[12] →* a20441data[13]))∧(i6103[12] →* i6103[13])∧(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i6174[13] →* i6174[3])∧(i6103[13] + 1 →* i6668[3])∧((i2[13] →* i2[3])∧(a20441data[13] →* a20441data[3])))
The set Q consists of the following terms:
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(64) IDPNonInfProof (SOUND transformation)
The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that
final constraints are written in
bold face.
For Pair
LOAD18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) the following chains were created:
- We consider the chain LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]) → LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]), LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) which results in the following constraint:
(1) (i6103[0]=i6103[1]∧i6174[0]=i6174[1]∧i2[0]=i2[1]∧a20441data[0]=a20441data[1] ⇒ LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])≥LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])∧(UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])≥LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])∧(UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
For Pair
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
COND_LOAD18769ARR9(
&&(
&&(
&&(
>(
i6103,
0),
<(
i6103,
i2)),
>(
i6174,
0)),
>(
+(
i6103,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) the following chains were created:
- We consider the chain LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]), COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2]) which results in the following constraint:
(7) (i6103[1]=i6103[2]∧&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0))=TRUE∧i6174[1]=i6174[2]∧i2[1]=i2[2]∧a20441data[1]=a20441data[2] ⇒ LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])≥NonInfC∧LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])≥COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])∧(UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(i6103[1], 1), 0)=TRUE∧>(i6174[1], 0)=TRUE∧>(i6103[1], 0)=TRUE∧<(i6103[1], i2[1])=TRUE ⇒ LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])≥NonInfC∧LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])≥COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])∧(UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] ≥ 0∧i2[1] + [-2] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[(-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i6103[1] ≥ 0∧i6174[1] ≥ 0∧i6103[1] ≥ 0∧i2[1] + [-2] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[(2)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i6103[1] ≥ 0∧i6174[1] ≥ 0∧i6103[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
For Pair
COND_LOAD18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
INC24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
+(
i6103,
1),
i6174) the following chains were created:
- We consider the chain COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2]) which results in the following constraint:
(16) (COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2])≥NonInfC∧COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2])≥INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])∧(UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
For Pair
JMP24198'(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
INC24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) the following chains were created:
- We consider the chain JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]), INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1)) which results in the following constraint:
(21) (i6174[3]=i6174[7]∧i2[3]=i2[7]∧a20441data[3]=a20441data[7]∧i6668[3]=i6668[7] ⇒ JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])≥NonInfC∧JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])≥INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])∧(UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥))
We simplified constraint (21) using rule (IV) which results in the following new constraint:
(22) (JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])≥NonInfC∧JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])≥INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])∧(UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
For Pair
LOAD18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) the following chains were created:
- We consider the chain LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4]) → LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4]))) which results in the following constraint:
(27) (LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4])≥LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))∧(UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)
For Pair
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
COND_LOAD18769ARR10(
&&(
&&(
&&(
&&(
>(
i7456,
0),
>(
i6103,
0)),
<(
i6103,
i2)),
>(
i6174,
0)),
>(
+(
i6103,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) the following chains were created:
- We consider the chain LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))), COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6]) which results in the following constraint:
(32) (i6174[5]=i6174[6]∧i7456[5]=i7456[6]∧i7089[5]=i7089[6]∧i7091[5]=i7091[6]∧a23251[5]=a23251[6]∧&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0))=TRUE∧i6103[5]=i6103[6]∧i2[5]=i2[6]∧a20441data[5]=a20441data[6] ⇒ LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))≥NonInfC∧LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))≥COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))∧(UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥))
We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(33) (>(+(i6103[5], 1), 0)=TRUE∧>(i6174[5], 0)=TRUE∧<(i6103[5], i2[5])=TRUE∧>(i7456[5], 0)=TRUE∧>(i6103[5], 0)=TRUE ⇒ LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))≥NonInfC∧LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))≥COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))∧(UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) (i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) (i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) (i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(37) (i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i6103[5] ≥ 0∧i6174[5] ≥ 0∧i2[5] + [-2] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i6103[5] ≥ 0∧i6174[5] ≥ 0∧i2[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(41) ([1] + i6103[5] ≥ 0∧i6174[5] ≥ 0∧i2[5] ≥ 0∧i7456[5] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
For Pair
COND_LOAD18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
INC24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
+(
i6103,
1),
i6174) the following chains were created:
- We consider the chain COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6]) which results in the following constraint:
(42) (COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6])))≥NonInfC∧COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6])))≥INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])∧(UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥))
We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(43) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(44) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(45) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(46) ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)
For Pair
INC24121(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
i6174) →
LOAD18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6668,
+(
i6174,
-1)) the following chains were created:
- We consider the chain INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1)) which results in the following constraint:
(47) (INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7])≥NonInfC∧INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7])≥LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))∧(UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥))
We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(48) ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(49) ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(50) ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(51) ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
For Pair
LOAD18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) the following chains were created:
- We consider the chain LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]), LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) which results in the following constraint:
(52) (i2[8]=i2[9]∧a20441data[8]=a20441data[9]∧i6103[8]=i6103[9]∧i6174[8]=i6174[9] ⇒ LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])≥LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])∧(UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥))
We simplified constraint (52) using rule (IV) which results in the following new constraint:
(53) (LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])≥LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])∧(UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥))
We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(54) ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(55) ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(56) ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(57) ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
For Pair
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
COND_LOAD18769ARR11(
&&(
&&(
&&(
>(
i6103,
0),
<(
i6103,
i2)),
>(
i6174,
0)),
>(
+(
i6103,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) the following chains were created:
- We consider the chain LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]), COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1)) which results in the following constraint:
(58) (i6174[9]=i6174[10]∧i2[9]=i2[10]∧a20441data[9]=a20441data[10]∧&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0))=TRUE∧i6103[9]=i6103[10] ⇒ LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])≥NonInfC∧LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])≥COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])∧(UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥))
We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(59) (>(+(i6103[9], 1), 0)=TRUE∧>(i6174[9], 0)=TRUE∧>(i6103[9], 0)=TRUE∧<(i6103[9], i2[9])=TRUE ⇒ LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])≥NonInfC∧LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])≥COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])∧(UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥))
We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(60) (i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(61) (i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(62) (i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(63) (i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(64) ([1] + i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] ≥ 0∧i2[9] + [-2] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(65) ([1] + i6103[9] ≥ 0∧i6174[9] ≥ 0∧i6103[9] ≥ 0∧i2[9] + [-2] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[(3)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(66) ([1] + i6103[9] ≥ 0∧i6174[9] ≥ 0∧i6103[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
For Pair
COND_LOAD18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
LOAD18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
+(
i6103,
1),
+(
i6174,
-1)) the following chains were created:
- We consider the chain COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1)) which results in the following constraint:
(67) (COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10])≥NonInfC∧COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10])≥LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))∧(UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
For Pair
LOAD18769(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174) →
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) the following chains were created:
- We consider the chain LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11]) → LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11]))) which results in the following constraint:
(72) (LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11])≥LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))∧(UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
For Pair
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
COND_LOAD18769ARR13(
&&(
&&(
&&(
&&(
>(
i7456,
0),
>(
i6103,
0)),
<(
i6103,
i2)),
>(
i6174,
0)),
>(
+(
i6103,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) the following chains were created:
- We consider the chain LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))), COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13]) which results in the following constraint:
(77) (i6174[12]=i6174[13]∧i7456[12]=i7456[13]∧i7089[12]=i7089[13]∧i7091[12]=i7091[13]∧a23251[12]=a23251[13]∧i2[12]=i2[13]∧a20441data[12]=a20441data[13]∧i6103[12]=i6103[13]∧&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0))=TRUE ⇒ LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))≥NonInfC∧LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))≥COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))∧(UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i6103[12], 1), 0)=TRUE∧>(i6174[12], 0)=TRUE∧<(i6103[12], i2[12])=TRUE∧>(i7456[12], 0)=TRUE∧>(i6103[12], 0)=TRUE ⇒ LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))≥NonInfC∧LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))≥COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))∧(UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i6103[12] ≥ 0∧i6174[12] ≥ 0∧i2[12] + [-2] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i6103[12] ≥ 0∧i6174[12] ≥ 0∧i2[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i6174[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(86) ([1] + i6103[12] ≥ 0∧i6174[12] ≥ 0∧i2[12] ≥ 0∧i7456[12] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i6174[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
For Pair
COND_LOAD18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20441data)),
i6103,
i6174,
java.lang.Object(
java.lang.String(
i7456,
i7089,
i7091,
a23251))) →
JMP24198'(
java.lang.Object(
ARRAY(
i2,
a20441data)),
+(
i6103,
1),
i6174) the following chains were created:
- We consider the chain COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13]) which results in the following constraint:
(87) (COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13])))≥NonInfC∧COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13])))≥JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])∧(UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
- ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
- LOAD18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103, 0), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
- ([1] + i6103[1] ≥ 0∧i6174[1] ≥ 0∧i6103[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
- COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174)
- ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
- JMP24198'(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174)
- ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
- LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
- ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)
- LOAD18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456, 0), >(i6103, 0)), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
- ([1] + i6103[5] ≥ 0∧i6174[5] ≥ 0∧i2[5] ≥ 0∧i7456[5] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
- COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174)
- ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)
- INC24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, +(i6174, -1))
- ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
- LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
- ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
- LOAD18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103, 0), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
- ([1] + i6103[9] ≥ 0∧i6174[9] ≥ 0∧i6103[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
- COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), +(i6174, -1))
- ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
- LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
- ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
- LOAD18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456, 0), >(i6103, 0)), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
- ([1] + i6103[12] ≥ 0∧i6174[12] ≥ 0∧i2[12] ≥ 0∧i7456[12] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i6174[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
- COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP24198'(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174)
- ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)
The constraints for P
> respective P
bound are constructed from P
≥ where we just replace every occurence of "t ≥ s" in P
≥ by "t > s" respective "t ≥
c". Here
c stands for the fresh constant used for P
bound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD18769(x1, x2, x3)) = [1] + [2]x3 + [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD18769ARR9(x1, x2, x3)) = [2]x3 + [-1]x1 + [-1]x2
POL(COND_LOAD18769ARR9(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x2 + [-1]x3
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(INC24121(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(JMP24198'(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(LOAD18769ARR10(x1, x2, x3, x4)) = [2]x3 + [-1]x1 + [-1]x2
POL(java.lang.String(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x1
POL(COND_LOAD18769ARR10(x1, x2, x3, x4, x5)) = [2]x4 + [-1]x2 + [-1]x3
POL(-1) = [-1]
POL(LOAD18769ARR11(x1, x2, x3)) = [1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD18769ARR11(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
POL(LOAD18769ARR13(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD18769ARR13(x1, x2, x3, x4, x5)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
The following pairs are in P
>:
LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]) → LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])
LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])
COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])
LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4]) → LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))
COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])
LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])
COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))
LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11]) → LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))
COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])
The following pairs are in P
bound:
LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])
LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))
LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])
LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))
The following pairs are in P
≥:
JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])
LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))
INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))
LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])
LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))
There are no usable rules.
(65) Complex Obligation (AND)
(66) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(3):
JMP24198'(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3]) →
INC24121(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3])
(5):
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2[5],
a20441data[5])),
i6103[5],
i6174[5],
java.lang.Object(
java.lang.String(
i7456[5],
i7089[5],
i7091[5],
a23251[5]))) →
COND_LOAD18769ARR10(
i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a20441data[5])),
i6103[5],
i6174[5],
java.lang.Object(
java.lang.String(
i7456[5],
i7089[5],
i7091[5],
a23251[5])))
(7):
INC24121(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7] + -1)
(8):
LOAD18769(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8]) →
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8])
(12):
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2[12],
a20441data[12])),
i6103[12],
i6174[12],
java.lang.Object(
java.lang.String(
i7456[12],
i7089[12],
i7091[12],
a23251[12]))) →
COND_LOAD18769ARR13(
i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a20441data[12])),
i6103[12],
i6174[12],
java.lang.Object(
java.lang.String(
i7456[12],
i7089[12],
i7091[12],
a23251[12])))
(3) -> (7), if ((i6174[3] →* i6174[7])∧((i2[3] →* i2[7])∧(a20441data[3] →* a20441data[7]))∧(i6668[3] →* i6668[7]))
(7) -> (8), if (((i2[7] →* i2[8])∧(a20441data[7] →* a20441data[8]))∧(i6174[7] + -1 →* i6174[8])∧(i6668[7] →* i6103[8]))
The set Q consists of the following terms:
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(67) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 5 less nodes.
(68) TRUE
(69) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD18769(
java.lang.Object(
ARRAY(
i2[0],
a20441data[0])),
i6103[0],
i6174[0]) →
LOAD18769ARR9(
java.lang.Object(
ARRAY(
i2[0],
a20441data[0])),
i6103[0],
i6174[0])
(2):
COND_LOAD18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20441data[2])),
i6103[2],
i6174[2]) →
INC24121(
java.lang.Object(
ARRAY(
i2[2],
a20441data[2])),
i6103[2] + 1,
i6174[2])
(3):
JMP24198'(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3]) →
INC24121(
java.lang.Object(
ARRAY(
i2[3],
a20441data[3])),
i6668[3],
i6174[3])
(4):
LOAD18769(
java.lang.Object(
ARRAY(
i2[4],
a20441data[4])),
i6103[4],
i6174[4]) →
LOAD18769ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20441data[4])),
i6103[4],
i6174[4],
java.lang.Object(
java.lang.String(
i7456[4],
i7089[4],
i7091[4],
a23251[4])))
(6):
COND_LOAD18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a20441data[6])),
i6103[6],
i6174[6],
java.lang.Object(
java.lang.String(
i7456[6],
i7089[6],
i7091[6],
a23251[6]))) →
INC24121(
java.lang.Object(
ARRAY(
i2[6],
a20441data[6])),
i6103[6] + 1,
i6174[6])
(7):
INC24121(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[7],
a20441data[7])),
i6668[7],
i6174[7] + -1)
(8):
LOAD18769(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8]) →
LOAD18769ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20441data[8])),
i6103[8],
i6174[8])
(10):
COND_LOAD18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20441data[10])),
i6103[10],
i6174[10]) →
LOAD18769(
java.lang.Object(
ARRAY(
i2[10],
a20441data[10])),
i6103[10] + 1,
i6174[10] + -1)
(11):
LOAD18769(
java.lang.Object(
ARRAY(
i2[11],
a20441data[11])),
i6103[11],
i6174[11]) →
LOAD18769ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20441data[11])),
i6103[11],
i6174[11],
java.lang.Object(
java.lang.String(
i7456[11],
i7089[11],
i7091[11],
a23251[11])))
(13):
COND_LOAD18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a20441data[13])),
i6103[13],
i6174[13],
java.lang.Object(
java.lang.String(
i7456[13],
i7089[13],
i7091[13],
a23251[13]))) →
JMP24198'(
java.lang.Object(
ARRAY(
i2[13],
a20441data[13])),
i6103[13] + 1,
i6174[13])
(7) -> (0), if ((i6668[7] →* i6103[0])∧(i6174[7] + -1 →* i6174[0])∧((i2[7] →* i2[0])∧(a20441data[7] →* a20441data[0])))
(10) -> (0), if (((i2[10] →* i2[0])∧(a20441data[10] →* a20441data[0]))∧(i6174[10] + -1 →* i6174[0])∧(i6103[10] + 1 →* i6103[0]))
(13) -> (3), if ((i6174[13] →* i6174[3])∧(i6103[13] + 1 →* i6668[3])∧((i2[13] →* i2[3])∧(a20441data[13] →* a20441data[3])))
(7) -> (4), if (((i2[7] →* i2[4])∧(a20441data[7] →* a20441data[4]))∧(i6668[7] →* i6103[4])∧(i6174[7] + -1 →* i6174[4]))
(10) -> (4), if (((i2[10] →* i2[4])∧(a20441data[10] →* a20441data[4]))∧(i6174[10] + -1 →* i6174[4])∧(i6103[10] + 1 →* i6103[4]))
(2) -> (7), if ((i6174[2] →* i6174[7])∧(i6103[2] + 1 →* i6668[7])∧((i2[2] →* i2[7])∧(a20441data[2] →* a20441data[7])))
(3) -> (7), if ((i6174[3] →* i6174[7])∧((i2[3] →* i2[7])∧(a20441data[3] →* a20441data[7]))∧(i6668[3] →* i6668[7]))
(6) -> (7), if (((i2[6] →* i2[7])∧(a20441data[6] →* a20441data[7]))∧(i6174[6] →* i6174[7])∧(i6103[6] + 1 →* i6668[7]))
(7) -> (8), if (((i2[7] →* i2[8])∧(a20441data[7] →* a20441data[8]))∧(i6174[7] + -1 →* i6174[8])∧(i6668[7] →* i6103[8]))
(10) -> (8), if ((i6103[10] + 1 →* i6103[8])∧(i6174[10] + -1 →* i6174[8])∧((i2[10] →* i2[8])∧(a20441data[10] →* a20441data[8])))
(7) -> (11), if ((i6174[7] + -1 →* i6174[11])∧(i6668[7] →* i6103[11])∧((i2[7] →* i2[11])∧(a20441data[7] →* a20441data[11])))
(10) -> (11), if (((i2[10] →* i2[11])∧(a20441data[10] →* a20441data[11]))∧(i6174[10] + -1 →* i6174[11])∧(i6103[10] + 1 →* i6103[11]))
The set Q consists of the following terms:
Load18769(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP24198(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc24121(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18769ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18769ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18769ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(70) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(71) TRUE
(72) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC)))) →
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR17(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)))
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837))) →
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR18(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)))
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829))) →
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR19(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)))
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC)))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
JMP22891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC)))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
NULL,
o20829))) →
Load15891ARR20(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
NULL,
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Load15891ARR20(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR20(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Cond_Load15891ARR20(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC)))) →
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR21(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)))
JMP22927(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC)))) →
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20836,
o20837))) →
Load15891ARR22(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR22(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR22(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR22(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
NULL,
java.lang.Object(
EOC)))) →
Load15891ARR23(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Load15891ARR23(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR23(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Cond_Load15891ARR23(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
JMP22891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
NULL,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o17471,
java.lang.Object(
EOC)))) →
Load15891ARR24(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
NULL,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR24(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR24(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR24(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP22927(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc23100(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP22891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load15891ARR20(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load15891ARR20(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP22927(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load15891ARR22(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load15891ARR22(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load15891ARR23(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load15891ARR23(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load15891ARR24(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load15891ARR24(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(73) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP22927(x1, x2, x3, x4, x5) → JMP22927(x1, x2, x3, x5)
Cond_Load15891ARR24(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR24(x1, x2, x3, x4, x6, x7)
Load15891ARR24(x1, x2, x3, x4, x5, x6) → Load15891ARR24(x1, x2, x3, x5, x6)
JMP22891(x1, x2, x3, x4, x5) → JMP22891(x1, x2, x3, x5)
Cond_Load15891ARR23(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR23(x1, x2, x3, x4, x6, x7)
Load15891ARR23(x1, x2, x3, x4, x5, x6) → Load15891ARR23(x1, x2, x3, x5, x6)
Inc23100(x1, x2, x3, x4, x5) → Inc23100(x1, x2, x3, x5)
Cond_Load15891ARR21(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR21(x1, x2, x3, x4, x6, x7)
Load15891ARR21(x1, x2, x3, x4, x5, x6) → Load15891ARR21(x1, x2, x3, x5, x6)
Cond_Load15891ARR17(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR17(x1, x2, x3, x4, x6, x7)
Load15891ARR17(x1, x2, x3, x4, x5, x6) → Load15891ARR17(x1, x2, x3, x5, x6)
(74) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC)))) →
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR17(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20950Field0,
o20950Field1,
o20950Field2)))
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837))) →
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR18(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21126Field0,
o21126Field1,
o21126Field2)))
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829))) →
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR19(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21108Field0,
o21108Field1,
o21108Field2)))
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC)))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
JMP22891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC)))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
NULL,
o20829))) →
Load15891ARR20(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
NULL,
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Load15891ARR20(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR20(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Cond_Load15891ARR20(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20827,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20829)),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185 + -1,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC)))) →
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR21(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20990Field0,
o20990Field1,
o20990Field2)))
JMP22927(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC)))) →
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20836,
o20837))) →
Load15891ARR22(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR22(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR22(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR22(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20836,
o20837)),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
o17470,
o17471,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17470,
NULL,
java.lang.Object(
EOC)))) →
Load15891ARR23(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Load15891ARR23(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR23(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226)))
Cond_Load15891ARR23(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5668,
i5670,
a19226))) →
JMP22891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
o17470,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
NULL,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o17471,
java.lang.Object(
EOC)))) →
Load15891ARR24(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
NULL,
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR24(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR24(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR24(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP22927(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17471,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc23100(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP22891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load15891ARR20(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load15891ARR20(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP22927(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load15891ARR22(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load15891ARR22(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load15891ARR23(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load15891ARR23(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load15891ARR24(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load15891ARR24(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(75) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load15891(x1, x2, x3, x4, x5) → Load15891(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load15891ARR17(x1, x2, x3, x4, x5) → Load15891ARR17(x1, x2, x3)
Cond_Load15891ARR17(x1, x2, x3, x4, x5, x6) → Cond_Load15891ARR17(x1, x2, x3, x4)
Inc20196(x1, x2, x3, x4, x5) → Inc20196(x1, x2, x3)
JMP20270(x1, x2, x3, x4, x5) → JMP20270(x1, x2, x3)
Load15891ARR18(x1, x2, x3, x4, x5, x6) → Load15891ARR18(x1, x2, x3, x6)
Cond_Load15891ARR18(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR18(x1, x2, x3, x4, x7)
Load15891ARR19(x1, x2, x3, x4, x5, x6) → Load15891ARR19(x1, x2, x3)
Cond_Load15891ARR19(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR19(x1, x2, x3, x4)
Inc23100(x1, x2, x3, x4) → Inc23100(x1, x2, x3)
JMP22891(x1, x2, x3, x4) → JMP22891(x1, x2, x3)
Load15891ARR20(x1, x2, x3, x4, x5, x6) → Load15891ARR20(x1, x2, x3)
Cond_Load15891ARR20(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR20(x1, x2, x3, x4)
Load15891ARR21(x1, x2, x3, x4, x5) → Load15891ARR21(x1, x2, x3, x5)
Cond_Load15891ARR21(x1, x2, x3, x4, x5, x6) → Cond_Load15891ARR21(x1, x2, x3, x4, x6)
JMP22927(x1, x2, x3, x4) → JMP22927(x1, x2, x3)
Load15891ARR22(x1, x2, x3, x4, x5, x6) → Load15891ARR22(x1, x2, x3, x6)
Cond_Load15891ARR22(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR22(x1, x2, x3, x4, x7)
Load15891ARR23(x1, x2, x3, x4, x5) → Load15891ARR23(x1, x2, x3)
Cond_Load15891ARR23(x1, x2, x3, x4, x5, x6) → Cond_Load15891ARR23(x1, x2, x3, x4)
Load15891ARR24(x1, x2, x3, x4, x5) → Load15891ARR24(x1, x2, x3, x5)
Cond_Load15891ARR24(x1, x2, x3, x4, x5, x6) → Cond_Load15891ARR24(x1, x2, x3, x4, x6)
(76) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Cond_Load15891ARR17(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR18(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Cond_Load15891ARR19(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185 + -1)
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1)
JMP22891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR20(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Load15891ARR20(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Cond_Load15891ARR20(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Cond_Load15891ARR20(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185 + -1)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR21(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
JMP22927(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR22(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR22(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR22(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR22(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Inc23100(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR23(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Load15891ARR23(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Cond_Load15891ARR23(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Cond_Load15891ARR23(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
JMP22891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR24(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR24(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR24(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR24(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP22927(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
The set Q consists of the following terms:
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23100(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP22891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR20(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR20(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
JMP22927(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR22(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR22(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load15891ARR23(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR23(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR24(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR24(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(77) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Load15891ARR17, Load15891ARR23 | > | Load15891ARR17_3 |
Load15891ARR19, Load15891ARR20 | > | Load15891ARR19_3 |
Cond_Load15891ARR17, Cond_Load15891ARR23 | > | Cond_Load15891ARR17_4 |
JMP20270, JMP22927 | > | JMP20270_3 |
Load15891ARR18, Load15891ARR22 | > | Load15891ARR18_4 |
Load15891ARR21, Load15891ARR24 | > | Load15891ARR21_4 |
Cond_Load15891ARR21, Cond_Load15891ARR24 | > | Cond_Load15891ARR21_5 |
Cond_Load15891ARR18, Cond_Load15891ARR22 | > | Cond_Load15891ARR18_5 |
Inc20196, Inc23100, JMP22891 | > | Inc20196_3 |
Cond_Load15891ARR19, Cond_Load15891ARR20 | > | Cond_Load15891ARR19_4 |
(78) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Cond_Load15891ARR17(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR18(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Cond_Load15891ARR19(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185 + -1)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR21(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
The set Q consists of the following terms:
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(79) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(80) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
The ITRS R consists of the following rules:
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Load15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Cond_Load15891ARR17(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR18(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
Inc20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185 + -1)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Load15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Cond_Load15891ARR19(
i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185 + -1)
Load15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Load15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
Cond_Load15891ARR21(
i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP20270(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162 + 1,
i5185)
The integer pair graph contains the following rules and edges:
(0):
LOAD15891(
java.lang.Object(
ARRAY(
i2[0],
a17770data[0])),
i5162[0],
i5185[0]) →
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2[0],
a17770data[0])),
i5162[0],
i5185[0])
(1):
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2[1],
a17770data[1])),
i5162[1],
i5185[1]) →
COND_LOAD15891ARR17(
i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a17770data[1])),
i5162[1],
i5185[1])
(2):
COND_LOAD15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2],
i5185[2]) →
INC20196(
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2] + 1,
i5185[2])
(3):
JMP20270'(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3]) →
INC20196(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3])
(4):
LOAD15891(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4]) →
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4],
java.lang.Object(
java.lang.String(
i6004[4],
i5668[4],
i5670[4],
a19226[4])))
(5):
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[5],
a17770data[5])),
i5162[5],
i5185[5],
java.lang.Object(
java.lang.String(
i6004[5],
i5668[5],
i5670[5],
a19226[5]))) →
COND_LOAD15891ARR18(
i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a17770data[5])),
i5162[5],
i5185[5],
java.lang.Object(
java.lang.String(
i6004[5],
i5668[5],
i5670[5],
a19226[5])))
(6):
COND_LOAD15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a17770data[6])),
i5162[6],
i5185[6],
java.lang.Object(
java.lang.String(
i6004[6],
i5668[6],
i5670[6],
a19226[6]))) →
INC20196(
java.lang.Object(
ARRAY(
i2[6],
a17770data[6])),
i5162[6] + 1,
i5185[6])
(7):
INC20196(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7] + -1)
(8):
LOAD15891(
java.lang.Object(
ARRAY(
i2[8],
a17770data[8])),
i5162[8],
i5185[8]) →
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17770data[8])),
i5162[8],
i5185[8])
(9):
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2[9],
a17770data[9])),
i5162[9],
i5185[9]) →
COND_LOAD15891ARR19(
i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a17770data[9])),
i5162[9],
i5185[9])
(10):
COND_LOAD15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10],
i5185[10]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10] + 1,
i5185[10] + -1)
(11):
LOAD15891(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11]) →
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11],
java.lang.Object(
java.lang.String(
i6004[11],
i5668[11],
i5670[11],
a19226[11])))
(12):
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[12],
a17770data[12])),
i5162[12],
i5185[12],
java.lang.Object(
java.lang.String(
i6004[12],
i5668[12],
i5670[12],
a19226[12]))) →
COND_LOAD15891ARR21(
i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a17770data[12])),
i5162[12],
i5185[12],
java.lang.Object(
java.lang.String(
i6004[12],
i5668[12],
i5670[12],
a19226[12])))
(13):
COND_LOAD15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a17770data[13])),
i5162[13],
i5185[13],
java.lang.Object(
java.lang.String(
i6004[13],
i5668[13],
i5670[13],
a19226[13]))) →
JMP20270'(
java.lang.Object(
ARRAY(
i2[13],
a17770data[13])),
i5162[13] + 1,
i5185[13])
(0) -> (1), if ((java.lang.Object(ARRAY(i2[0], a17770data[0])) →* java.lang.Object(ARRAY(i2[1], a17770data[1])))∧(i5185[0] →* i5185[1])∧(i5162[0] →* i5162[1]))
(1) -> (2), if ((i5185[1] →* i5185[2])∧(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0 →* TRUE)∧(i5162[1] →* i5162[2])∧(java.lang.Object(ARRAY(i2[1], a17770data[1])) →* java.lang.Object(ARRAY(i2[2], a17770data[2]))))
(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a17770data[2])) →* java.lang.Object(ARRAY(i2[7], a17770data[7])))∧(i5162[2] + 1 →* i5384[7])∧(i5185[2] →* i5185[7]))
(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a17770data[3])) →* java.lang.Object(ARRAY(i2[7], a17770data[7])))∧(i5384[3] →* i5384[7])∧(i5185[3] →* i5185[7]))
(4) -> (5), if ((i5162[4] →* i5162[5])∧(java.lang.Object(ARRAY(i2[4], a17770data[4])) →* java.lang.Object(ARRAY(i2[5], a17770data[5])))∧(i5185[4] →* i5185[5])∧(java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])) →* java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))))
(5) -> (6), if ((java.lang.Object(ARRAY(i2[5], a17770data[5])) →* java.lang.Object(ARRAY(i2[6], a17770data[6])))∧(i5185[5] →* i5185[6])∧(i5162[5] →* i5162[6])∧(java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])) →* java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6])))∧(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0 →* TRUE))
(6) -> (7), if ((i5162[6] + 1 →* i5384[7])∧(i5185[6] →* i5185[7])∧(java.lang.Object(ARRAY(i2[6], a17770data[6])) →* java.lang.Object(ARRAY(i2[7], a17770data[7]))))
(7) -> (0), if ((i5384[7] →* i5162[0])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[0], a17770data[0])))∧(i5185[7] + -1 →* i5185[0]))
(7) -> (4), if ((i5185[7] + -1 →* i5185[4])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[4], a17770data[4])))∧(i5384[7] →* i5162[4]))
(7) -> (8), if ((i5384[7] →* i5162[8])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[8], a17770data[8])))∧(i5185[7] + -1 →* i5185[8]))
(7) -> (11), if ((i5384[7] →* i5162[11])∧(i5185[7] + -1 →* i5185[11])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[11], a17770data[11]))))
(8) -> (9), if ((i5185[8] →* i5185[9])∧(java.lang.Object(ARRAY(i2[8], a17770data[8])) →* java.lang.Object(ARRAY(i2[9], a17770data[9])))∧(i5162[8] →* i5162[9]))
(9) -> (10), if ((i5185[9] →* i5185[10])∧(i5162[9] →* i5162[10])∧(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i2[9], a17770data[9])) →* java.lang.Object(ARRAY(i2[10], a17770data[10]))))
(10) -> (0), if ((i5185[10] + -1 →* i5185[0])∧(i5162[10] + 1 →* i5162[0])∧(java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[0], a17770data[0]))))
(10) -> (4), if ((i5185[10] + -1 →* i5185[4])∧(i5162[10] + 1 →* i5162[4])∧(java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[4], a17770data[4]))))
(10) -> (8), if ((java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[8], a17770data[8])))∧(i5185[10] + -1 →* i5185[8])∧(i5162[10] + 1 →* i5162[8]))
(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[11], a17770data[11])))∧(i5162[10] + 1 →* i5162[11])∧(i5185[10] + -1 →* i5185[11]))
(11) -> (12), if ((i5162[11] →* i5162[12])∧(i5185[11] →* i5185[12])∧(java.lang.Object(ARRAY(i2[11], a17770data[11])) →* java.lang.Object(ARRAY(i2[12], a17770data[12])))∧(java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])) →* java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))))
(12) -> (13), if ((java.lang.Object(ARRAY(i2[12], a17770data[12])) →* java.lang.Object(ARRAY(i2[13], a17770data[13])))∧(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0 →* TRUE)∧(i5185[12] →* i5185[13])∧(java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])) →* java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13])))∧(i5162[12] →* i5162[13]))
(13) -> (3), if ((i5162[13] + 1 →* i5384[3])∧(java.lang.Object(ARRAY(i2[13], a17770data[13])) →* java.lang.Object(ARRAY(i2[3], a17770data[3])))∧(i5185[13] →* i5185[3]))
The set Q consists of the following terms:
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(81) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(82) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD15891(
java.lang.Object(
ARRAY(
i2[0],
a17770data[0])),
i5162[0],
i5185[0]) →
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2[0],
a17770data[0])),
i5162[0],
i5185[0])
(1):
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2[1],
a17770data[1])),
i5162[1],
i5185[1]) →
COND_LOAD15891ARR17(
i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a17770data[1])),
i5162[1],
i5185[1])
(2):
COND_LOAD15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2],
i5185[2]) →
INC20196(
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2] + 1,
i5185[2])
(3):
JMP20270'(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3]) →
INC20196(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3])
(4):
LOAD15891(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4]) →
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4],
java.lang.Object(
java.lang.String(
i6004[4],
i5668[4],
i5670[4],
a19226[4])))
(5):
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[5],
a17770data[5])),
i5162[5],
i5185[5],
java.lang.Object(
java.lang.String(
i6004[5],
i5668[5],
i5670[5],
a19226[5]))) →
COND_LOAD15891ARR18(
i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a17770data[5])),
i5162[5],
i5185[5],
java.lang.Object(
java.lang.String(
i6004[5],
i5668[5],
i5670[5],
a19226[5])))
(6):
COND_LOAD15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a17770data[6])),
i5162[6],
i5185[6],
java.lang.Object(
java.lang.String(
i6004[6],
i5668[6],
i5670[6],
a19226[6]))) →
INC20196(
java.lang.Object(
ARRAY(
i2[6],
a17770data[6])),
i5162[6] + 1,
i5185[6])
(7):
INC20196(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7] + -1)
(8):
LOAD15891(
java.lang.Object(
ARRAY(
i2[8],
a17770data[8])),
i5162[8],
i5185[8]) →
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17770data[8])),
i5162[8],
i5185[8])
(9):
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2[9],
a17770data[9])),
i5162[9],
i5185[9]) →
COND_LOAD15891ARR19(
i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a17770data[9])),
i5162[9],
i5185[9])
(10):
COND_LOAD15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10],
i5185[10]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10] + 1,
i5185[10] + -1)
(11):
LOAD15891(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11]) →
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11],
java.lang.Object(
java.lang.String(
i6004[11],
i5668[11],
i5670[11],
a19226[11])))
(12):
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[12],
a17770data[12])),
i5162[12],
i5185[12],
java.lang.Object(
java.lang.String(
i6004[12],
i5668[12],
i5670[12],
a19226[12]))) →
COND_LOAD15891ARR21(
i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a17770data[12])),
i5162[12],
i5185[12],
java.lang.Object(
java.lang.String(
i6004[12],
i5668[12],
i5670[12],
a19226[12])))
(13):
COND_LOAD15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a17770data[13])),
i5162[13],
i5185[13],
java.lang.Object(
java.lang.String(
i6004[13],
i5668[13],
i5670[13],
a19226[13]))) →
JMP20270'(
java.lang.Object(
ARRAY(
i2[13],
a17770data[13])),
i5162[13] + 1,
i5185[13])
(0) -> (1), if ((java.lang.Object(ARRAY(i2[0], a17770data[0])) →* java.lang.Object(ARRAY(i2[1], a17770data[1])))∧(i5185[0] →* i5185[1])∧(i5162[0] →* i5162[1]))
(1) -> (2), if ((i5185[1] →* i5185[2])∧(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0 →* TRUE)∧(i5162[1] →* i5162[2])∧(java.lang.Object(ARRAY(i2[1], a17770data[1])) →* java.lang.Object(ARRAY(i2[2], a17770data[2]))))
(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a17770data[2])) →* java.lang.Object(ARRAY(i2[7], a17770data[7])))∧(i5162[2] + 1 →* i5384[7])∧(i5185[2] →* i5185[7]))
(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a17770data[3])) →* java.lang.Object(ARRAY(i2[7], a17770data[7])))∧(i5384[3] →* i5384[7])∧(i5185[3] →* i5185[7]))
(4) -> (5), if ((i5162[4] →* i5162[5])∧(java.lang.Object(ARRAY(i2[4], a17770data[4])) →* java.lang.Object(ARRAY(i2[5], a17770data[5])))∧(i5185[4] →* i5185[5])∧(java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])) →* java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))))
(5) -> (6), if ((java.lang.Object(ARRAY(i2[5], a17770data[5])) →* java.lang.Object(ARRAY(i2[6], a17770data[6])))∧(i5185[5] →* i5185[6])∧(i5162[5] →* i5162[6])∧(java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])) →* java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6])))∧(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0 →* TRUE))
(6) -> (7), if ((i5162[6] + 1 →* i5384[7])∧(i5185[6] →* i5185[7])∧(java.lang.Object(ARRAY(i2[6], a17770data[6])) →* java.lang.Object(ARRAY(i2[7], a17770data[7]))))
(7) -> (0), if ((i5384[7] →* i5162[0])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[0], a17770data[0])))∧(i5185[7] + -1 →* i5185[0]))
(7) -> (4), if ((i5185[7] + -1 →* i5185[4])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[4], a17770data[4])))∧(i5384[7] →* i5162[4]))
(7) -> (8), if ((i5384[7] →* i5162[8])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[8], a17770data[8])))∧(i5185[7] + -1 →* i5185[8]))
(7) -> (11), if ((i5384[7] →* i5162[11])∧(i5185[7] + -1 →* i5185[11])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[11], a17770data[11]))))
(8) -> (9), if ((i5185[8] →* i5185[9])∧(java.lang.Object(ARRAY(i2[8], a17770data[8])) →* java.lang.Object(ARRAY(i2[9], a17770data[9])))∧(i5162[8] →* i5162[9]))
(9) -> (10), if ((i5185[9] →* i5185[10])∧(i5162[9] →* i5162[10])∧(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i2[9], a17770data[9])) →* java.lang.Object(ARRAY(i2[10], a17770data[10]))))
(10) -> (0), if ((i5185[10] + -1 →* i5185[0])∧(i5162[10] + 1 →* i5162[0])∧(java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[0], a17770data[0]))))
(10) -> (4), if ((i5185[10] + -1 →* i5185[4])∧(i5162[10] + 1 →* i5162[4])∧(java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[4], a17770data[4]))))
(10) -> (8), if ((java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[8], a17770data[8])))∧(i5185[10] + -1 →* i5185[8])∧(i5162[10] + 1 →* i5162[8]))
(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[11], a17770data[11])))∧(i5162[10] + 1 →* i5162[11])∧(i5185[10] + -1 →* i5185[11]))
(11) -> (12), if ((i5162[11] →* i5162[12])∧(i5185[11] →* i5185[12])∧(java.lang.Object(ARRAY(i2[11], a17770data[11])) →* java.lang.Object(ARRAY(i2[12], a17770data[12])))∧(java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])) →* java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))))
(12) -> (13), if ((java.lang.Object(ARRAY(i2[12], a17770data[12])) →* java.lang.Object(ARRAY(i2[13], a17770data[13])))∧(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0 →* TRUE)∧(i5185[12] →* i5185[13])∧(java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])) →* java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13])))∧(i5162[12] →* i5162[13]))
(13) -> (3), if ((i5162[13] + 1 →* i5384[3])∧(java.lang.Object(ARRAY(i2[13], a17770data[13])) →* java.lang.Object(ARRAY(i2[3], a17770data[3])))∧(i5185[13] →* i5185[3]))
The set Q consists of the following terms:
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(83) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(84) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD15891(
java.lang.Object(
ARRAY(
i2[0],
a17770data[0])),
i5162[0],
i5185[0]) →
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2[0],
a17770data[0])),
i5162[0],
i5185[0])
(1):
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2[1],
a17770data[1])),
i5162[1],
i5185[1]) →
COND_LOAD15891ARR17(
i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a17770data[1])),
i5162[1],
i5185[1])
(2):
COND_LOAD15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2],
i5185[2]) →
INC20196(
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2] + 1,
i5185[2])
(3):
JMP20270'(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3]) →
INC20196(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3])
(4):
LOAD15891(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4]) →
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4],
java.lang.Object(
java.lang.String(
i6004[4],
i5668[4],
i5670[4],
a19226[4])))
(5):
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[5],
a17770data[5])),
i5162[5],
i5185[5],
java.lang.Object(
java.lang.String(
i6004[5],
i5668[5],
i5670[5],
a19226[5]))) →
COND_LOAD15891ARR18(
i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a17770data[5])),
i5162[5],
i5185[5],
java.lang.Object(
java.lang.String(
i6004[5],
i5668[5],
i5670[5],
a19226[5])))
(6):
COND_LOAD15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a17770data[6])),
i5162[6],
i5185[6],
java.lang.Object(
java.lang.String(
i6004[6],
i5668[6],
i5670[6],
a19226[6]))) →
INC20196(
java.lang.Object(
ARRAY(
i2[6],
a17770data[6])),
i5162[6] + 1,
i5185[6])
(7):
INC20196(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7] + -1)
(8):
LOAD15891(
java.lang.Object(
ARRAY(
i2[8],
a17770data[8])),
i5162[8],
i5185[8]) →
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17770data[8])),
i5162[8],
i5185[8])
(9):
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2[9],
a17770data[9])),
i5162[9],
i5185[9]) →
COND_LOAD15891ARR19(
i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a17770data[9])),
i5162[9],
i5185[9])
(10):
COND_LOAD15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10],
i5185[10]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10] + 1,
i5185[10] + -1)
(11):
LOAD15891(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11]) →
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11],
java.lang.Object(
java.lang.String(
i6004[11],
i5668[11],
i5670[11],
a19226[11])))
(12):
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[12],
a17770data[12])),
i5162[12],
i5185[12],
java.lang.Object(
java.lang.String(
i6004[12],
i5668[12],
i5670[12],
a19226[12]))) →
COND_LOAD15891ARR21(
i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a17770data[12])),
i5162[12],
i5185[12],
java.lang.Object(
java.lang.String(
i6004[12],
i5668[12],
i5670[12],
a19226[12])))
(13):
COND_LOAD15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a17770data[13])),
i5162[13],
i5185[13],
java.lang.Object(
java.lang.String(
i6004[13],
i5668[13],
i5670[13],
a19226[13]))) →
JMP20270'(
java.lang.Object(
ARRAY(
i2[13],
a17770data[13])),
i5162[13] + 1,
i5185[13])
(0) -> (1), if (((i2[0] →* i2[1])∧(a17770data[0] →* a17770data[1]))∧(i5185[0] →* i5185[1])∧(i5162[0] →* i5162[1]))
(1) -> (2), if ((i5185[1] →* i5185[2])∧(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0 →* TRUE)∧(i5162[1] →* i5162[2])∧((i2[1] →* i2[2])∧(a17770data[1] →* a17770data[2])))
(2) -> (7), if (((i2[2] →* i2[7])∧(a17770data[2] →* a17770data[7]))∧(i5162[2] + 1 →* i5384[7])∧(i5185[2] →* i5185[7]))
(3) -> (7), if (((i2[3] →* i2[7])∧(a17770data[3] →* a17770data[7]))∧(i5384[3] →* i5384[7])∧(i5185[3] →* i5185[7]))
(4) -> (5), if ((i5162[4] →* i5162[5])∧((i2[4] →* i2[5])∧(a17770data[4] →* a17770data[5]))∧(i5185[4] →* i5185[5])∧((i6004[4] →* i6004[5])∧(i5668[4] →* i5668[5])∧(i5670[4] →* i5670[5])∧(a19226[4] →* a19226[5])))
(5) -> (6), if (((i2[5] →* i2[6])∧(a17770data[5] →* a17770data[6]))∧(i5185[5] →* i5185[6])∧(i5162[5] →* i5162[6])∧((i6004[5] →* i6004[6])∧(i5668[5] →* i5668[6])∧(i5670[5] →* i5670[6])∧(a19226[5] →* a19226[6]))∧(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0 →* TRUE))
(6) -> (7), if ((i5162[6] + 1 →* i5384[7])∧(i5185[6] →* i5185[7])∧((i2[6] →* i2[7])∧(a17770data[6] →* a17770data[7])))
(7) -> (0), if ((i5384[7] →* i5162[0])∧((i2[7] →* i2[0])∧(a17770data[7] →* a17770data[0]))∧(i5185[7] + -1 →* i5185[0]))
(7) -> (4), if ((i5185[7] + -1 →* i5185[4])∧((i2[7] →* i2[4])∧(a17770data[7] →* a17770data[4]))∧(i5384[7] →* i5162[4]))
(7) -> (8), if ((i5384[7] →* i5162[8])∧((i2[7] →* i2[8])∧(a17770data[7] →* a17770data[8]))∧(i5185[7] + -1 →* i5185[8]))
(7) -> (11), if ((i5384[7] →* i5162[11])∧(i5185[7] + -1 →* i5185[11])∧((i2[7] →* i2[11])∧(a17770data[7] →* a17770data[11])))
(8) -> (9), if ((i5185[8] →* i5185[9])∧((i2[8] →* i2[9])∧(a17770data[8] →* a17770data[9]))∧(i5162[8] →* i5162[9]))
(9) -> (10), if ((i5185[9] →* i5185[10])∧(i5162[9] →* i5162[10])∧(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0 →* TRUE)∧((i2[9] →* i2[10])∧(a17770data[9] →* a17770data[10])))
(10) -> (0), if ((i5185[10] + -1 →* i5185[0])∧(i5162[10] + 1 →* i5162[0])∧((i2[10] →* i2[0])∧(a17770data[10] →* a17770data[0])))
(10) -> (4), if ((i5185[10] + -1 →* i5185[4])∧(i5162[10] + 1 →* i5162[4])∧((i2[10] →* i2[4])∧(a17770data[10] →* a17770data[4])))
(10) -> (8), if (((i2[10] →* i2[8])∧(a17770data[10] →* a17770data[8]))∧(i5185[10] + -1 →* i5185[8])∧(i5162[10] + 1 →* i5162[8]))
(10) -> (11), if (((i2[10] →* i2[11])∧(a17770data[10] →* a17770data[11]))∧(i5162[10] + 1 →* i5162[11])∧(i5185[10] + -1 →* i5185[11]))
(11) -> (12), if ((i5162[11] →* i5162[12])∧(i5185[11] →* i5185[12])∧((i2[11] →* i2[12])∧(a17770data[11] →* a17770data[12]))∧((i6004[11] →* i6004[12])∧(i5668[11] →* i5668[12])∧(i5670[11] →* i5670[12])∧(a19226[11] →* a19226[12])))
(12) -> (13), if (((i2[12] →* i2[13])∧(a17770data[12] →* a17770data[13]))∧(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0 →* TRUE)∧(i5185[12] →* i5185[13])∧((i6004[12] →* i6004[13])∧(i5668[12] →* i5668[13])∧(i5670[12] →* i5670[13])∧(a19226[12] →* a19226[13]))∧(i5162[12] →* i5162[13]))
(13) -> (3), if ((i5162[13] + 1 →* i5384[3])∧((i2[13] →* i2[3])∧(a17770data[13] →* a17770data[3]))∧(i5185[13] →* i5185[3]))
The set Q consists of the following terms:
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(85) IDPNonInfProof (SOUND transformation)
The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that
final constraints are written in
bold face.
For Pair
LOAD15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) the following chains were created:
- We consider the chain LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]) → LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]), LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) which results in the following constraint:
(1) (i2[0]=i2[1]∧a17770data[0]=a17770data[1]∧i5185[0]=i5185[1]∧i5162[0]=i5162[1] ⇒ LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])≥LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])∧(UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])≥LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])∧(UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_31] ≥ 0)
For Pair
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
COND_LOAD15891ARR17(
&&(
&&(
&&(
>(
i5162,
0),
<(
i5162,
i2)),
>(
i5185,
0)),
>(
+(
i5162,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) the following chains were created:
- We consider the chain LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]), COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2]) which results in the following constraint:
(7) (i5185[1]=i5185[2]∧&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0))=TRUE∧i5162[1]=i5162[2]∧i2[1]=i2[2]∧a17770data[1]=a17770data[2] ⇒ LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])≥NonInfC∧LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])≥COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])∧(UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(i5162[1], 1), 0)=TRUE∧>(i5185[1], 0)=TRUE∧>(i5162[1], 0)=TRUE∧<(i5162[1], i2[1])=TRUE ⇒ LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])≥NonInfC∧LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])≥COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])∧(UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] ≥ 0∧i2[1] + [-2] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + (-1)bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i5162[1] ≥ 0∧i5185[1] ≥ 0∧i5162[1] ≥ 0∧i2[1] + [-2] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + (-1)bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i5162[1] ≥ 0∧i5185[1] ≥ 0∧i5162[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + bni_32] + [bni_32]i2[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
For Pair
COND_LOAD15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
INC20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
+(
i5162,
1),
i5185) the following chains were created:
- We consider the chain COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2]) which results in the following constraint:
(16) (COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2])≥NonInfC∧COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2])≥INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])∧(UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
For Pair
JMP20270'(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
INC20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) the following chains were created:
- We consider the chain JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]), INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1)) which results in the following constraint:
(21) (i2[3]=i2[7]∧a17770data[3]=a17770data[7]∧i5384[3]=i5384[7]∧i5185[3]=i5185[7] ⇒ JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])≥NonInfC∧JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])≥INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])∧(UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥))
We simplified constraint (21) using rule (IV) which results in the following new constraint:
(22) (JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])≥NonInfC∧JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])≥INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])∧(UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧[(-1)bso_37] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧[(-1)bso_37] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧[(-1)bso_37] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)
For Pair
LOAD15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) the following chains were created:
- We consider the chain LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4]))) which results in the following constraint:
(27) (LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4])≥LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))∧(UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
For Pair
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
COND_LOAD15891ARR18(
&&(
&&(
&&(
&&(
>(
i6004,
0),
>(
i5162,
0)),
<(
i5162,
i2)),
>(
i5185,
0)),
>(
+(
i5162,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) the following chains were created:
- We consider the chain LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))), COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6]) which results in the following constraint:
(32) (i2[5]=i2[6]∧a17770data[5]=a17770data[6]∧i5185[5]=i5185[6]∧i5162[5]=i5162[6]∧i6004[5]=i6004[6]∧i5668[5]=i5668[6]∧i5670[5]=i5670[6]∧a19226[5]=a19226[6]∧&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0))=TRUE ⇒ LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))≥NonInfC∧LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))≥COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))∧(UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥))
We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(33) (>(+(i5162[5], 1), 0)=TRUE∧>(i5185[5], 0)=TRUE∧<(i5162[5], i2[5])=TRUE∧>(i6004[5], 0)=TRUE∧>(i5162[5], 0)=TRUE ⇒ LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))≥NonInfC∧LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))≥COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))∧(UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) (i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) (i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) (i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(37) (i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i5162[5] ≥ 0∧i5185[5] ≥ 0∧i2[5] + [-2] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i5162[5] ≥ 0∧i5185[5] ≥ 0∧i2[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(41) ([1] + i5162[5] ≥ 0∧i5185[5] ≥ 0∧i2[5] ≥ 0∧i6004[5] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
For Pair
COND_LOAD15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
INC20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
+(
i5162,
1),
i5185) the following chains were created:
- We consider the chain COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6]) which results in the following constraint:
(42) (COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6])))≥NonInfC∧COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6])))≥INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])∧(UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥))
We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(43) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(44) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(45) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(46) ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)
For Pair
INC20196(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
i5185) →
LOAD15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5384,
+(
i5185,
-1)) the following chains were created:
- We consider the chain INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1)) which results in the following constraint:
(47) (INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7])≥NonInfC∧INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7])≥LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))∧(UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥))
We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(48) ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(49) ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(50) ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(51) ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
For Pair
LOAD15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) the following chains were created:
- We consider the chain LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]) → LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]), LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) which results in the following constraint:
(52) (i5185[8]=i5185[9]∧i2[8]=i2[9]∧a17770data[8]=a17770data[9]∧i5162[8]=i5162[9] ⇒ LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])≥LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])∧(UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥))
We simplified constraint (52) using rule (IV) which results in the following new constraint:
(53) (LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])≥LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])∧(UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥))
We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(54) ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(55) ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(56) ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(57) ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)
For Pair
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
COND_LOAD15891ARR19(
&&(
&&(
&&(
>(
i5162,
0),
<(
i5162,
i2)),
>(
i5185,
0)),
>(
+(
i5162,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) the following chains were created:
- We consider the chain LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]), COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1)) which results in the following constraint:
(58) (i5185[9]=i5185[10]∧i5162[9]=i5162[10]∧&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0))=TRUE∧i2[9]=i2[10]∧a17770data[9]=a17770data[10] ⇒ LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])≥NonInfC∧LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])≥COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])∧(UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥))
We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(59) (>(+(i5162[9], 1), 0)=TRUE∧>(i5185[9], 0)=TRUE∧>(i5162[9], 0)=TRUE∧<(i5162[9], i2[9])=TRUE ⇒ LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])≥NonInfC∧LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])≥COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])∧(UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥))
We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(60) (i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(61) (i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(62) (i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(63) (i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(64) ([1] + i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] ≥ 0∧i2[9] + [-2] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(65) ([1] + i5162[9] ≥ 0∧i5185[9] ≥ 0∧i5162[9] ≥ 0∧i2[9] + [-2] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(66) ([1] + i5162[9] ≥ 0∧i5185[9] ≥ 0∧i5162[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
For Pair
COND_LOAD15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
LOAD15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
+(
i5162,
1),
+(
i5185,
-1)) the following chains were created:
- We consider the chain COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1)) which results in the following constraint:
(67) (COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10])≥NonInfC∧COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10])≥LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))∧(UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)
For Pair
LOAD15891(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185) →
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) the following chains were created:
- We consider the chain LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11]))) which results in the following constraint:
(72) (LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11])≥LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))∧(UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)
For Pair
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
COND_LOAD15891ARR21(
&&(
&&(
&&(
&&(
>(
i6004,
0),
>(
i5162,
0)),
<(
i5162,
i2)),
>(
i5185,
0)),
>(
+(
i5162,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) the following chains were created:
- We consider the chain LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))), COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13]) which results in the following constraint:
(77) (i2[12]=i2[13]∧a17770data[12]=a17770data[13]∧&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0))=TRUE∧i5185[12]=i5185[13]∧i6004[12]=i6004[13]∧i5668[12]=i5668[13]∧i5670[12]=i5670[13]∧a19226[12]=a19226[13]∧i5162[12]=i5162[13] ⇒ LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))≥NonInfC∧LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))≥COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))∧(UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i5162[12], 1), 0)=TRUE∧>(i5185[12], 0)=TRUE∧<(i5162[12], i2[12])=TRUE∧>(i6004[12], 0)=TRUE∧>(i5162[12], 0)=TRUE ⇒ LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))≥NonInfC∧LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))≥COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))∧(UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i5162[12] ≥ 0∧i5185[12] ≥ 0∧i2[12] + [-2] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i5162[12] ≥ 0∧i5185[12] ≥ 0∧i2[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(86) ([1] + i5162[12] ≥ 0∧i5185[12] ≥ 0∧i2[12] ≥ 0∧i6004[12] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
For Pair
COND_LOAD15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17770data)),
i5162,
i5185,
java.lang.Object(
java.lang.String(
i6004,
i5668,
i5670,
a19226))) →
JMP20270'(
java.lang.Object(
ARRAY(
i2,
a17770data)),
+(
i5162,
1),
i5185) the following chains were created:
- We consider the chain COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13]) which results in the following constraint:
(87) (COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13])))≥NonInfC∧COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13])))≥JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])∧(UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
- ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_31] ≥ 0)
- LOAD15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162, 0), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
- ([1] + i5162[1] ≥ 0∧i5185[1] ≥ 0∧i5162[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + bni_32] + [bni_32]i2[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
- COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185)
- ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
- JMP20270'(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185)
- ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)
- LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
- ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
- LOAD15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004, 0), >(i5162, 0)), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
- ([1] + i5162[5] ≥ 0∧i5185[5] ≥ 0∧i2[5] ≥ 0∧i6004[5] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
- COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185)
- ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)
- INC20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, +(i5185, -1))
- ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
- LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
- ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)
- LOAD15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162, 0), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
- ([1] + i5162[9] ≥ 0∧i5185[9] ≥ 0∧i5162[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
- COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), +(i5185, -1))
- ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)
- LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
- ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)
- LOAD15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004, 0), >(i5162, 0)), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
- ([1] + i5162[12] ≥ 0∧i5185[12] ≥ 0∧i2[12] ≥ 0∧i6004[12] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
- COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP20270'(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185)
- ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)
The constraints for P
> respective P
bound are constructed from P
≥ where we just replace every occurence of "t ≥ s" in P
≥ by "t > s" respective "t ≥
c". Here
c stands for the fresh constant used for P
bound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD15891(x1, x2, x3)) = [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD15891ARR17(x1, x2, x3)) = [-1] + [-1]x1 + [-1]x2
POL(COND_LOAD15891ARR17(x1, x2, x3, x4)) = [-1] + [-1]x2 + [-1]x3
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(INC20196(x1, x2, x3)) = [-1]x2 + [-1]x1
POL(JMP20270'(x1, x2, x3)) = [-1]x2 + [-1]x1
POL(LOAD15891ARR18(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x1 + [-1]x2
POL(java.lang.String(x1, x2, x3, x4)) = [-1]
POL(COND_LOAD15891ARR18(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x2 + [-1]x3
POL(-1) = [-1]
POL(LOAD15891ARR19(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1
POL(COND_LOAD15891ARR19(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2
POL(LOAD15891ARR21(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x2 + [-1]x1
POL(COND_LOAD15891ARR21(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x3 + [-1]x2
The following pairs are in P
>:
LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]) → LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])
COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])
LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]) → LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])
COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])
The following pairs are in P
bound:
LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])
LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))
LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])
LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))
The following pairs are in P
≥:
LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])
COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])
JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])
LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))
LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))
INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))
LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])
COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))
LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))
LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))
There are no usable rules.
(86) Complex Obligation (AND)
(87) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(1):
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2[1],
a17770data[1])),
i5162[1],
i5185[1]) →
COND_LOAD15891ARR17(
i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a17770data[1])),
i5162[1],
i5185[1])
(2):
COND_LOAD15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2],
i5185[2]) →
INC20196(
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2] + 1,
i5185[2])
(3):
JMP20270'(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3]) →
INC20196(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3])
(4):
LOAD15891(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4]) →
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4],
java.lang.Object(
java.lang.String(
i6004[4],
i5668[4],
i5670[4],
a19226[4])))
(5):
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[5],
a17770data[5])),
i5162[5],
i5185[5],
java.lang.Object(
java.lang.String(
i6004[5],
i5668[5],
i5670[5],
a19226[5]))) →
COND_LOAD15891ARR18(
i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a17770data[5])),
i5162[5],
i5185[5],
java.lang.Object(
java.lang.String(
i6004[5],
i5668[5],
i5670[5],
a19226[5])))
(7):
INC20196(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7] + -1)
(9):
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2[9],
a17770data[9])),
i5162[9],
i5185[9]) →
COND_LOAD15891ARR19(
i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a17770data[9])),
i5162[9],
i5185[9])
(10):
COND_LOAD15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10],
i5185[10]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10] + 1,
i5185[10] + -1)
(11):
LOAD15891(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11]) →
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11],
java.lang.Object(
java.lang.String(
i6004[11],
i5668[11],
i5670[11],
a19226[11])))
(12):
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[12],
a17770data[12])),
i5162[12],
i5185[12],
java.lang.Object(
java.lang.String(
i6004[12],
i5668[12],
i5670[12],
a19226[12]))) →
COND_LOAD15891ARR21(
i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a17770data[12])),
i5162[12],
i5185[12],
java.lang.Object(
java.lang.String(
i6004[12],
i5668[12],
i5670[12],
a19226[12])))
(1) -> (2), if ((i5185[1] →* i5185[2])∧(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0 →* TRUE)∧(i5162[1] →* i5162[2])∧((i2[1] →* i2[2])∧(a17770data[1] →* a17770data[2])))
(7) -> (4), if ((i5185[7] + -1 →* i5185[4])∧((i2[7] →* i2[4])∧(a17770data[7] →* a17770data[4]))∧(i5384[7] →* i5162[4]))
(10) -> (4), if ((i5185[10] + -1 →* i5185[4])∧(i5162[10] + 1 →* i5162[4])∧((i2[10] →* i2[4])∧(a17770data[10] →* a17770data[4])))
(4) -> (5), if ((i5162[4] →* i5162[5])∧((i2[4] →* i2[5])∧(a17770data[4] →* a17770data[5]))∧(i5185[4] →* i5185[5])∧((i6004[4] →* i6004[5])∧(i5668[4] →* i5668[5])∧(i5670[4] →* i5670[5])∧(a19226[4] →* a19226[5])))
(2) -> (7), if (((i2[2] →* i2[7])∧(a17770data[2] →* a17770data[7]))∧(i5162[2] + 1 →* i5384[7])∧(i5185[2] →* i5185[7]))
(3) -> (7), if (((i2[3] →* i2[7])∧(a17770data[3] →* a17770data[7]))∧(i5384[3] →* i5384[7])∧(i5185[3] →* i5185[7]))
(9) -> (10), if ((i5185[9] →* i5185[10])∧(i5162[9] →* i5162[10])∧(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0 →* TRUE)∧((i2[9] →* i2[10])∧(a17770data[9] →* a17770data[10])))
(7) -> (11), if ((i5384[7] →* i5162[11])∧(i5185[7] + -1 →* i5185[11])∧((i2[7] →* i2[11])∧(a17770data[7] →* a17770data[11])))
(10) -> (11), if (((i2[10] →* i2[11])∧(a17770data[10] →* a17770data[11]))∧(i5162[10] + 1 →* i5162[11])∧(i5185[10] + -1 →* i5185[11]))
(11) -> (12), if ((i5162[11] →* i5162[12])∧(i5185[11] →* i5185[12])∧((i2[11] →* i2[12])∧(a17770data[11] →* a17770data[12]))∧((i6004[11] →* i6004[12])∧(i5668[11] →* i5668[12])∧(i5670[11] →* i5670[12])∧(a19226[11] →* a19226[12])))
The set Q consists of the following terms:
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(88) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(89) TRUE
(90) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD15891(
java.lang.Object(
ARRAY(
i2[0],
a17770data[0])),
i5162[0],
i5185[0]) →
LOAD15891ARR17(
java.lang.Object(
ARRAY(
i2[0],
a17770data[0])),
i5162[0],
i5185[0])
(2):
COND_LOAD15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2],
i5185[2]) →
INC20196(
java.lang.Object(
ARRAY(
i2[2],
a17770data[2])),
i5162[2] + 1,
i5185[2])
(3):
JMP20270'(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3]) →
INC20196(
java.lang.Object(
ARRAY(
i2[3],
a17770data[3])),
i5384[3],
i5185[3])
(4):
LOAD15891(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4]) →
LOAD15891ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17770data[4])),
i5162[4],
i5185[4],
java.lang.Object(
java.lang.String(
i6004[4],
i5668[4],
i5670[4],
a19226[4])))
(6):
COND_LOAD15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a17770data[6])),
i5162[6],
i5185[6],
java.lang.Object(
java.lang.String(
i6004[6],
i5668[6],
i5670[6],
a19226[6]))) →
INC20196(
java.lang.Object(
ARRAY(
i2[6],
a17770data[6])),
i5162[6] + 1,
i5185[6])
(7):
INC20196(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[7],
a17770data[7])),
i5384[7],
i5185[7] + -1)
(8):
LOAD15891(
java.lang.Object(
ARRAY(
i2[8],
a17770data[8])),
i5162[8],
i5185[8]) →
LOAD15891ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17770data[8])),
i5162[8],
i5185[8])
(10):
COND_LOAD15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10],
i5185[10]) →
LOAD15891(
java.lang.Object(
ARRAY(
i2[10],
a17770data[10])),
i5162[10] + 1,
i5185[10] + -1)
(11):
LOAD15891(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11]) →
LOAD15891ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17770data[11])),
i5162[11],
i5185[11],
java.lang.Object(
java.lang.String(
i6004[11],
i5668[11],
i5670[11],
a19226[11])))
(13):
COND_LOAD15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a17770data[13])),
i5162[13],
i5185[13],
java.lang.Object(
java.lang.String(
i6004[13],
i5668[13],
i5670[13],
a19226[13]))) →
JMP20270'(
java.lang.Object(
ARRAY(
i2[13],
a17770data[13])),
i5162[13] + 1,
i5185[13])
(7) -> (0), if ((i5384[7] →* i5162[0])∧((i2[7] →* i2[0])∧(a17770data[7] →* a17770data[0]))∧(i5185[7] + -1 →* i5185[0]))
(10) -> (0), if ((i5185[10] + -1 →* i5185[0])∧(i5162[10] + 1 →* i5162[0])∧((i2[10] →* i2[0])∧(a17770data[10] →* a17770data[0])))
(13) -> (3), if ((i5162[13] + 1 →* i5384[3])∧((i2[13] →* i2[3])∧(a17770data[13] →* a17770data[3]))∧(i5185[13] →* i5185[3]))
(7) -> (4), if ((i5185[7] + -1 →* i5185[4])∧((i2[7] →* i2[4])∧(a17770data[7] →* a17770data[4]))∧(i5384[7] →* i5162[4]))
(10) -> (4), if ((i5185[10] + -1 →* i5185[4])∧(i5162[10] + 1 →* i5162[4])∧((i2[10] →* i2[4])∧(a17770data[10] →* a17770data[4])))
(2) -> (7), if (((i2[2] →* i2[7])∧(a17770data[2] →* a17770data[7]))∧(i5162[2] + 1 →* i5384[7])∧(i5185[2] →* i5185[7]))
(3) -> (7), if (((i2[3] →* i2[7])∧(a17770data[3] →* a17770data[7]))∧(i5384[3] →* i5384[7])∧(i5185[3] →* i5185[7]))
(6) -> (7), if ((i5162[6] + 1 →* i5384[7])∧(i5185[6] →* i5185[7])∧((i2[6] →* i2[7])∧(a17770data[6] →* a17770data[7])))
(7) -> (8), if ((i5384[7] →* i5162[8])∧((i2[7] →* i2[8])∧(a17770data[7] →* a17770data[8]))∧(i5185[7] + -1 →* i5185[8]))
(10) -> (8), if (((i2[10] →* i2[8])∧(a17770data[10] →* a17770data[8]))∧(i5185[10] + -1 →* i5185[8])∧(i5162[10] + 1 →* i5162[8]))
(7) -> (11), if ((i5384[7] →* i5162[11])∧(i5185[7] + -1 →* i5185[11])∧((i2[7] →* i2[11])∧(a17770data[7] →* a17770data[11])))
(10) -> (11), if (((i2[10] →* i2[11])∧(a17770data[10] →* a17770data[11]))∧(i5162[10] + 1 →* i5162[11])∧(i5185[10] + -1 →* i5185[11]))
The set Q consists of the following terms:
Load15891(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP20270(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc20196(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15891ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15891ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15891ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(91) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(92) TRUE